3

我正在尝试在表上创建触发器。我的要求是仅在表存在时创建触发器。

例如

if(table exists)
        begin
             create trigger on the table 
        end 

谷歌搜索后,我发现这create trigger应该是批处理中的第一个命令。这意味着我不能if在当前批次中使用 the 或任何其他东西。

请帮帮我!

4

2 回答 2

5

您可以使用

IF(OBJECT_ID('YourTable','U') IS NOT NULL)
    EXEC('CREATE TRIGGER ....')

您需要通过加倍来转义触发器正文中的任何单引号。

于 2012-09-18T11:03:19.337 回答
-1

只需使用它自己的创建触发器语句。

如果没有表,它不会对数据库做任何事情,只是给出一个错误信息。不会有什么不好的事情发生。

于 2012-09-18T10:57:55.440 回答