我必须编写一个部署脚本,如果存储过程存在或不存在,该脚本将起作用.即如果它存在,那么我需要改变它,否则创建它.
我怎么能在sql中这样做.
我正在使用SQL Server 2005
我创建而不是这样的触发器:
CREATE TRIGGER ReadOnlyEvent ON
TableName INSTEAD OF INSERT, UPDATE, DELETE AS BEGIN
RAISERROR('Tables are read only.', 16, 1 ) ROLLBACK TRANSACTION END;
Run Code Online (Sandbox Code Playgroud)
该代码工作正常。但是当我将它与 'IF' 结合使用时,我得到了一个错误:
IF OBJECT_ID ('ReadOnlyEvent', 'TR') IS NULL
CREATE TRIGGER ReadOnlyEvent ON
TableName INSTEAD OF INSERT, UPDATE, DELETE AS BEGIN
RAISERROR('Tables are read only.', 16, 1 ) ROLLBACK TRANSACTION END;
Run Code Online (Sandbox Code Playgroud)
关键字“TRIGGER”附近的语法不正确。
我也用 BEGIN END 尝试了 IF:
IF OBJECT_ID ('ReadOnlyEvent', 'TR') IS NULL
BEGIN
CREATE TRIGGER ReadOnlyEvent ON
TableName INSTEAD OF INSERT, UPDATE, DELETE AS BEGIN
RAISERROR('Tables …Run Code Online (Sandbox Code Playgroud)