是否可以修改"更改程序" SSMS模板?

时间:2014-06-18 03:29:15

标签: sql-server ssms sql-server-2008

我知道如何在SSMS中修改“CREATE PROC”模板,我想知道是否可以修改“ALTER PROC”模板,该模板显示我右键单击现有存储过程并单击“修改”。当我单击“修改”时,将生成一个脚本“ALTER PROC ...”,我希望我可以修改它以便它可以生成

IF EXISTS ()... DROP PROC ... CREATE PROC ...

而不是

ALTER PROC

或者,如果我可以创建一个新模板来实现相同的目标,那也会很好。

感谢。

2 个答案:

答案 0 :(得分:0)

我不认为有,但你可以非常接近伪造它。创建一个代码段(在我的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

答案 1 :(得分:-2)

是,在修改选项中,您可以直接修改或将prc 修改为

ALTER PROCEDURE [dbo].[sp_name]
  @paramater INT , .... other
AS
BEGIN
   .... statement
END

以下选项中的好处是,当您给某个服务器或部署在服务器上时。给出以下类型的陈述很好。

哪个程序存在或不存在,如果存在,则首先删除然后创建。

IF EXISTS ()... DROP PROC ... CREATE PROC ...

修改选项意味着右键单击并修改哪个直接给出,改变选项有利于开发目的。你知道像alter table这样的开发或更改sp参数名称。这也包括你给当前sp。

的人

虽然给予一个人,很好地放弃并使用存在选项创建,所以第三方可以轻松执行而不会出错。