如何识别动态SQL失败



我创建了一个触发器,在其中,有动态SQL被执行。

这是示例脚本:

当我将 @Text指定为某个值时,它起作用(EXEC显示1行缔约后),但是当我指定null时,记录未添加到表中(消息:Query tocless face to him tim HIS)。如果记录未被添加到示例表中,请在没有动态插入的情况下添加示例2中。如何成功地找出动态exec。't想要获取表的最后一个身份。如何做?

declare @Inserttbl nvarchar(4000)
declare @TableName varchar(50)
declare @PId int
declare @Text varchar(50)
declare @count int
declare @Status int
set @TableName ='sample'
set @Text = null
set @PId  = 3
set @Status =1
set @Inserttbl = ' Insert into Test.dbo.' +@TableName +' values ('+@PId+','+@Text+','+@Status+')'
exec sp_executesql @Inserttbl

在构造SQL语句字符串时,您需要使用Cocce。我想您可以使用@RowCount查看是否正确形成了该语句的插入。

最新更新