我在sql编写了以下脚本,而@TotalTabs总是返回null?
DECLARE @TotalTabs NVARCHAR(30)
DECLARE @cmd NVARCHAR(MAX)
SET @cmd = ' Select count(*) from(select distinct COutputData_3_autosampler position, COutputData_3_Sequence_Number from '
+ @temp_table_afterpivot_SegRpt + ')'
EXEC sp_executesql @TotalTabs, N'@TotalTabs nvarchar out', @TotalTabs OUT
SELECT @TotalTabs
答案 0 :(得分:2)
看起来正在执行@TotalTabs作为SQL。实际上你的@cmd从未在任何地方使用过。
Select count(*) from (select distinct COutputData_3_autosampler, position, COutputData_3_Sequence_Number from '
+ @temp_table_afterpivot_SegRpt + ') AS TT'
您在位置后缺少逗号。我假设所有3列都在@temp_table_afterpivot_SeqRpt?
中答案 1 :(得分:0)
感谢大家的帮助。我发现了这个问题,脚本需要一个别名。
声明@TotalTabs nvarchar(30) 声明@cmd nvarchar(max) set @cmd ='select count(*)from(select distinct [COutputData_3_AutoSampler Position],COutputData_3_Sequence_Number from' + @temp_table_afterpivot_SegRpt +')as tt' exec sp_executesql @cmd,N'@ TotalTabs nvarchar out',@ TotalTabs out
选择@TotalTabs作为TotalTabs