触发器——指定的事件类型在指定的目标对象上是/无效的

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 中找不到打印语句。在哪里可以查看打印消息输出?

以上是关于触发器——指定的事件类型在指定的目标对象上是/无效的的主要内容,如果未能解决你的问题,请参考以下文章

addEventListener之handleEvent

电脑连不上宽带,显示说无法连接到指定目标是啥原因

5.13 事件流

5.13 事件流

js之事件冒泡和事件捕获介绍

指定了一个无效的目标地址