即使出现一些错误,如何强制创建存储过程?

时间:2009-05-13 06:48:14

标签: sql sql-server tsql

当我执行数据库脚本时,我在存储过程中遇到错误,然后无法创建存在错误的存储过程。即使存储过程中发生某些错误,我也想强制创建存储过程。

如果create procedure语句中发生了某些错误,则不会创建存储过程。我想要的是无论是否发生错误,都会创建存储过程。

实际上我们在SQL Server 2000中有数据库,我将它附加在SQL Server 2005中,然后将兼容级别更改为90.最后我想执行脚本但我也希望如果发生了一些错误,那么它将忽略错误并创建对象。

1 个答案:

答案 0 :(得分:2)

您可以通过以不可失败的方式创建存储过程来强制创建存储过程。见这个例子:

if object_id('sp_name') is null
    exec sp_executesql N'create procedure dbo.sp_name as select 1'
go
alter procedure db.sp_name
as
...
go

现在如果alter失败了,无论如何都会有一个存储过程。