Declare @SQL_Link nvarchar(4000),@callEndDate nvarchar(2000),@program varchar(50)
set @program = 'test' set @SQL_Link = 'Select @callEndDate = call_end_date From '+ @program + '..callEndDate'
print @SQL_Link exec sp_executesql @SQL_Link ,N'@callEndDate nvarchar(2000) output',@callEndDate select @callEndDate
set @program = 'test' set @SQL_Link = 'Select @callEndDate = call_end_date From '+ @program + '..callEndDate'
print @SQL_Link exec sp_executesql @SQL_Link ,N'@callEndDate nvarchar(2000) output',@callEndDate select @callEndDate
insert into test select 'test'
go
Declare @SQL_Link nvarchar(4000),@callEndDate nvarchar(2000),@program varchar(50)
set @program = 'test'
set @callEndDate = 'col'set @SQL_Link = 'Select '+@callEndDate+' = (Select call_end_date From '+ @program + ')'
--print @SQL_Link exec sp_executesql @SQL_Link
/*
col
----------
test(1 行受影响)
*/
drop table test
DECLARE @i int
SELECT @i = (SELECT COUNT(1) FROM sys.objects)
--如果只到这里,那么这个语句只是给@i赋值而已,如果你想显示@i的值,还需要加上下面的语句,同理
SELECT @i
你那个语句只是给那个变量赋值。
你问题里的那段SQL,结果肯定是没有任何Output的。
这里特别感谢lzhs和happyflystone。当然也谢谢其他的朋友。