SQL Server
Microsoft 关系数据库管理和分析系统的一个系列,用于实现电子商务、业务线和数据仓库解决方案。
149 个问题
IF OBJECT_ID('BUSINESS_IN_TRIGGER','TR') IS NOT NULL DROP TRIGGER BUSINESS_IN_TRIGGER
GO
CREATE TRIGGER BUSINESS_IN_TRIGGER ON BUSINESS_IN FOR INSERT,UPDATE,DELETE AS SET NOCOUNT ON
1、总是出现这个错误 20240920-203445.jpg ,虽然我已经提前DROP
2、环境 Intellisense 状态也已经启用 20240920204151.jpg,刷新也无效
Hi @china ansen,
引用微软官网OBJECT_ID (Transact-SQL)
不能使用 OBJECT_ID 查询非架构范围的对象,例如数据定义语言 (DDL) 触发器。 对于在 sys.objects 目录视图中找不到的对象,请通过查询相应的目录视图来获取对象标识号。 例如,若要返回 DDL 触发器的对象标识号,请使用 SELECT OBJECT_ID FROM sys.triggers WHERE name = 'DatabaseTriggerLog'。
请试下下面的T-SQL;
-- 判断触发器是否存在
IF NOT EXISTS (
SELECT *
FROM sys.triggers
WHERE name = 'BUSINESS_IN_TRIGGER'
)
BEGIN
-- 如果触发器不存在,则创建触发器
CREATE TRIGGER BUSINESS_IN_TRIGGER
ON BUSINESS_IN
FOR INSERT, UPDATE, DELETE
AS
BEGIN
SET NOCOUNT ON;
-- 在这里添加触发器逻辑
END
END
ELSE
BEGIN
-- 如果触发器存在,则删除触发器
DROP TRIGGER BUSINESS_IN_TRIGGER
END
如果回复有帮助,请点击接受答案并点赞,因为这可以帮助其他社区成员寻找类似的帖子。