触发器——指定的事件类型在指定的目标对象上是/无效的
Posted
技术标签:
【中文标题】触发器——指定的事件类型在指定的目标对象上是/无效的【英文标题】:Triggers -- The specified event type(s) is/are not valid on the specified target object 【发布时间】:2019-10-28 06:26:07 【问题描述】:我正在尝试了解触发器。我正在尝试通过创建新查询来创建 DDL 触发器
create trigger triggername
on quickdb
for create_table
as
begin
print 'new table created'
end
但我不断得到
指定的事件类型在指定的目标对象上是/无效的
【问题讨论】:
.Net 与它有什么关系? 【参考方案1】:您不应在 DDL 触发器的 ON
子句中写入数据库名称,您应指定它是在数据库级别还是服务器级别。
如果它在数据库级别,它将仅适用于创建它的数据库。
将您的代码更改为:
use quickdb
go
create trigger triggername
on database
for create_table
as
begin
print 'new table created'
end
【讨论】:
谢谢...我在哪里可以查看打印的消息?我也无法在 SQL Server Management Studio 中找到触发器。 如果您使用 SSMS 运行 create table 语句,您应该能够看到它。触发器中的打印通常仅用于调试目的。您应该能够在 SSMS 中的 Programmability -> Database Triggers 下找到触发器。 谢谢...但我找不到Programmability
它在哪里? imgur.com/a/KFKzXqw
尝试刷新对象浏览器。我刚刚测试过,我看到我的测试触发器应该在哪里。
在创建新表时在Output
中找不到打印语句。在哪里可以查看打印消息输出?以上是关于触发器——指定的事件类型在指定的目标对象上是/无效的的主要内容,如果未能解决你的问题,请参考以下文章