트리거의 코드 부분이 있습니다. 내 방아쇠를 테스트 할 때 내 임원이 데이터를 반환하지 않습니다. 선택 여기EXEC sp_executesql이 작동하지 않거나 데이터를 반환하지 않습니다.
declare
@sql nvarchar(MAX),
@SQLString varchar(MAX)
과 :로
내가 내 간부 값을 선언set @sql = N'select '
set @sql = @sql + '@SQLString = convert(varchar(1000),d.' + @fieldname + ')' +' + convert(varchar(1000),i.' + @fieldname + ')'
set @sql = @sql + ' from #ins i full outer join #del d'
set @sql = @sql + @PKCols --
set @sql = @sql + ' where i.' + @fieldname + ' <> d.' + @fieldname
set @sql = @sql + ' or (i.' + @fieldname + ' is null and d.' + @fieldname + ' is not null)'
set @sql = @sql + ' or (i.' + @fieldname + ' is not null and d.' + @fieldname + ' is null)'
(모든 변수가 잘 작동) : 나는 @Sql 인쇄하면이 같은 것처럼 ->
012 : 여기select @SQLString = convert(varchar(1000), d.ActionID) + convert(varchar(1000), i.ActionID)
from #ins i
full outer join #del d on i.ActionID = d.ActionID
where i.ActionID <> d.ActionID
or (i.ActionID is null and d.ActionID is not null)
or (i.ActionID is not null and d.ActionID is null)
실행은 인
하지만 인쇄는 아무것도 보여줍니다 :
print '@SQLString:' + @SQLString;
고마워요! NULL을 확인한 후 작동했습니다 :) – Ange
굉장! 다행 :) –