我正在尝试在桌面上创建触发器。我的要求是仅在表存在时才创建触发器。
e.g。
if(table exists)
begin
create trigger on the table
end
谷歌搜索后,我发现create trigger
应该是批处理中的第一个命令。
这意味着我无法在当前批次中使用if
或任何其他内容。
请帮帮我!
答案 0 :(得分:5)
您可以使用
IF(OBJECT_ID('YourTable','U') IS NOT NULL)
EXEC('CREATE TRIGGER ....')
您需要通过将它们加倍来转义触发器主体中的任何单引号。
答案 1 :(得分:0)
只需使用create trigger语句就可以了。
如果没有表,它将不会对数据库执行任何操作,只需提供错误消息。什么都不会发生。