在SQL Server中,如何在Trigger中找到发生错误的行号?

时间:2016-03-28 20:49:49

标签: sql-server triggers sql-server-2008-r2

我正在使用Microsoft SQL Server 2008 R2。

我有一个名为 ph 的表,其中有一个名为 t_ph_audit 的触发器。我正在运行一个插入&更新 ph 表中的大量行。在运行过程中,我收到了触发器的错误消息:

  

Msg 8152,Level 16,State 14,Procedure t_ph_audit,Line   840
字符串或二进制数据将被截断。
声明已经发表   终止。

如何准确找出发生此错误的此触发器的840行?

我有几种方法可以打开触发器:

  1. Microsoft SQL Server Management Studio中,我可以右键单击 触发以打开右键单击菜单,然后单击Modify 选项。
  2. Microsoft SQL Server Management Studio中,我可以右键单击 触发以打开右键单击菜单,然后单击Script Trigger as --> CREATE TO --> New Query Editor window选项。
  3. Microsoft SQL Server Management Studio中,我可以右键单击 触发以打开右键单击菜单,然后单击Script Trigger as --> ALTER TO --> New Query Editor window选项。
  4. Microsoft SQL Server Management Studio中,我可以右键单击 触发以打开右键单击菜单,然后单击Script Trigger as --> DROP And CREATE To --> New Query Editor window 选项。
  5. 我应该使用哪个选项来打开触发器,以便触发器中的行号正好发生错误?

1 个答案:

答案 0 :(得分:0)

没有地方默认显示的行数,您可以在高级菜单上显示 - >工具 - >选项 - >文字编辑器 - > TransactSQL - >一般,然后标记选项行号是唯一可以制作apear的whay。

此外,您可以在触发器中记录日志以进行“调试”。

希望有所帮助。