SQL 查詢動態列

ALTER procedure [dbo].[dongtailei]
AS
begin
declare @fname varchar(20)    
set @fname = 'n'    
select @fname =@fname+'ame'    --設置字段名
declare @s Nvarchar(1000)    
set @s = 'select '+ @fname     --拼接字符串,注意有空格
select    @s=@s+' from color'    --注意有空格
Exec(@s)
end                
 
如果存儲過程接收輸入參數,那麼就可以對列名fname實現動態拼接,
實現SQL對列名的動態查詢
實際應用在 比如:有多個語言字段 LAN_CN ,LAN_EN ,LAN_JP
 
看到網上說 查詢語句可以直接這樣寫:
set @s = 'select '     @fname     ' from tableName'    
但我在查詢器裏 一直提示語法錯誤。
不知怎麼回事。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章