如何在IF条件内创建触发器?

Cha*_*mar 3 sql-server triggers sql-server-2008

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

例如

if(table exists)
        begin
             create trigger on the table 
        end 
Run Code Online (Sandbox Code Playgroud)

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

请帮帮我!

Mar*_*ith 5

您可以使用

IF(OBJECT_ID('YourTable','U') IS NOT NULL)
    EXEC('CREATE TRIGGER ....')
Run Code Online (Sandbox Code Playgroud)

您将需要通过将其加倍来在触发器主体中转义任何单引号。