我知道如何在SSMS中修改"CREATE PROC“模板,我想知道是否可以修改"ALTER PROC”模板,这显示了当我右键单击现有存储过程并单击“修改”时。当我单击“修改”时,脚本“更改PROC .”将生成,我希望我可以修改这个,以便它可以生成
IF EXISTS ()... DROP PROC ... CREATE PROC ...而不是
ALTER PROC或者,如果我可以创建一个新的模板来实现同样的目标,那也是很好的。
谢谢。
发布于 2014-06-18 17:03:22
我不认为有,但你可以把它装得很近。为“如果存在.删除”部分创建一个片段(在我的SSMS版本中,工具菜单中有一个代码片段管理器)。现在,编写您的过程脚本,将您的代码片段插入到顶部,您应该会做得很好。
如果我没有提到删除一个过程会删除已经授予或拒绝的任何显式权限,我就会失职。如果你这样做是为了得到一个幂等的脚本,我采用了这个成语来避免这个问题:
if object_id('someSchema.yourProc') is not null
set noexec on;
go
create procedure someSchema.yourProc
as
print 'not yet implemented'
go
set noexec off;
go
alter procedure someSchema.yourProc as
begin
-- your actual proc
end发布于 2014-06-18 04:21:42
是的,在“修改”选项中,您可以直接修改或将中华人民共和国更改为
ALTER PROCEDURE [dbo].[sp_name]
@paramater INT , .... other
AS
BEGIN
.... statement
END下面这个选项的好处是,当您提供给某个选项或在服务器上部署时。给出以下类型的声明是件好事。
首先确定该过程是否存在,如果存在,则先删除,然后创建。
IF EXISTS ()... DROP PROC ... CREATE PROC ...修改选项意味着右键单击并修改直接给出的选项,修改有利于开发目的的选项。您知道,在开发时,比如alter或更改sp参数名称。这也包括当你给予某人与当前sp。
同时给出一个,好的删除和创建与exist选项,这样第三方很容易执行没有错误。
https://stackoverflow.com/questions/24276595
复制相似问题