为什么我无法使用我的SqlCommand创建触发器?

时间:2010-05-19 19:25:42

标签: c# sql-server triggers

cmd.ExecuteNonQuery();

cmd.CommandText

CREATE TRIGGER  subscription_trig_0  ON  subscription   AFTER INSERT  AS  UPDATE user_data SET msg_count=msg_count+1 FROM user_data
JOIN INSERTED ON user_data.id = INSERTED.recipient; 

例外:

Incorrect syntax near the keyword 'TRIGGER'.

然后使用VS 2010,连接到同一个文件(mdf文件)我运行上面的查询,我收到一条成功消息。 WTF!

3 个答案:

答案 0 :(得分:2)

选项

  • 实际发送的SQL的第一行不是CREATE TRIGGER
  • CommandType错误(例如,它正在尝试添加EXEC或某些“准备”命令)

使用SQL事件探查器查看 完全 您发送到数据库引擎的内容(实际上您拥有托管MDF的Express版本)

答案 1 :(得分:1)

你有CommandType错误吗?

答案 2 :(得分:0)

我不确定为什么会失败,但如果我是你,我会使用SMO进行ddl查询。在这种情况下,您需要Trigger.Create Method.