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

标签 sql-server sql-server-2008 triggers

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

例如

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

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

请帮帮我!

最佳答案

您可以使用

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

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

关于sql-server - 如何在 IF 条件内创建触发器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12475588/

相关文章:

sql - 将存储过程的多个结果集存储到不同的表中

sql - 递归 SQL 查询加速非索引查询

sql-server-2008 - 在 SQL 服务器表中导入印度所有城市的脚本

javascript - 如何在特定 ID 上触发 onclick CSS

postgresql - 如何重新创建最初由 tsvector_update_trigger 填充的 tsvector 列

c# - ASP.NET 中的 SqlDependency

sql-server - 由于登录失败,SQL Server 2012 无法启动

sql - 具有动态列的透视 SQL 表

sql - 无法按 order by 子句获取父记录之后的子记录

mysql - 触发语法问题