我有类似的东西。
declare @insertQuery nvarchar(max)
declare @ifQuery nvarchar(max)
SET @insertQuery='...'
SET @ifQuery='if not exists(select Id from '+@DbName+'.[dbo].[tbl_TestHere] where Id='+@id+')'
BEGIN
Exec sp_executesql @insertQuery
END
我需要执行动态查询@insertQuery如果"如果不存在(...)"返回true ..但我无法找到正确的解决方案。 提前致谢
答案 0 :(得分:0)
只需将查询结合起来。
SET @FinalQuery NVARCHAR(MAX) = @ifQuery + @insertQuery;
EXEC (@FinalQuery);
当然,您需要检查合并查询是否有效。如果需要,请将 @insertQuery 与BEGIN
和END
一起环绕。
如果以上组合无效,请检查How to get sp_executesql result into a variable?。