日期:2014-05-18  浏览次数:20511 次

高手救我?有一定难度
declare     @ti_id     nvarchar(50)     --用于接受返回的ti_id    
declare     @exec_sql     nvarchar(1000)    
set     @exec_sql= 'select     @ti_id=ti_id     '     +    
                                'from       @table     '    

exec     sp_executesql     @exec_sql,N '@ti_id     nvarchar(50)     output,@table     nvarchar(50) ',@ti_id=@ti_id     output,@table=@table    
print     @ti_id    


现在是我想从这句sql代码中返回ti_id,并且能动态指定其查询的表,(用     @table     指定)
如何才能实现?高手救我

------解决方案--------------------
--少了一个声明变量@table
declare @table nvarchar(50)
declare @ti_id nvarchar(50) --用于接受返回的ti_id
declare @exec_sql nvarchar(1000)
set @exec_sql= 'select @ti_id=ti_id ' +
'from @table '

exec sp_executesql @exec_sql,N '@ti_id nvarchar(50) output,@table nvarchar(50) ',@ti_id=@ti_id output,@table=@table
print @ti_id