最近,我一直在使用 SQL Server 数据库,并尝试使用 SQuirreL SQL Client 为某些表创建一些触发器,由于某种原因,我无法摆脱以下讨厌的错误消息:
“错误:‘CREATE TRIGGER’必须是查询批中的第一个语句。
SQL状态:S0001
错误代码:111”
我尝试执行的查询如下(我从一个非常简单的触发器开始,以确保语法正确):
CREATE TRIGGER meeting_overlap on adhoc_meeting
FOR INSERT
AS
DECLARE
@myvar INT
当我尝试在 Microsoft SQL Server Management Studio Express 中执行完全相同的查询时,它执行得很好。我的问题是:是否有其他人在使用 SQuirreL SQL Client 时遇到过类似的问题?如果是,您采取了什么措施来消除此错误?
EDIT:
我将 SQuirrel SQL v2.6.8 与 Microsoft SQL Server JDBC Driver 2.0 结合使用,并连接到 SQL Server 2005。
我也遇到了同样的问题。经过一番谷歌搜索后,我发现了这篇文章:
http://vsingleton.blogspot.com/2009/04/error-create-view-must-be-first.html http://vsingleton.blogspot.com/2009/04/error-create-view-must-be-first.html
简而言之,将 exec('') 包裹在创建触发器语句周围。此外,触发器语句中的任何单引号 (') 都需要更改为双单引号 ('')。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)