2016年10月11日 星期二

[SQL] 取T-SQL結果


DECLARE @sql nvarchar(1000),@i int,@max int,@getname nvarchar(1000) 
SELECT TOP 1 @max=id_num FROM [general].[dbo].[matchCrop] ORDER BY id_num desc;
SET @i=1;

SET @sql=N'SELECT @name=CROP_NAME FROM [general].[dbo].[matchCrop] WHERE id_num=@num'
EXEC sp_executesql @sql,N'@name nvarchar(100) OUTPUT,@num nvarchar(100)',@getname OUTPUT,@num=@i
SELECT @getname;--會是'SELECT @name=CROP_NAME FROM [general].[dbo].[matchCrop] WHERE id_num=@num'的結果


說明: 對應關係為,下面顏色部分,紅色對應紅色,綠色對應綠色,所以可以透過OUTPUT將@sql的結果寫入getname中

注意1:@getname是宣告在外面!





沒有留言:

張貼留言