实用函数:在一行中打印一个表或视图的所有列,用逗号隔开(SQLSERVER)

代码:

create function getcolumns(
@tbl_or_view_name varchar(
100)
)
returns varchar(
1000)
begin
    declare @str varchar(
200)
    
    select @str 
= ''
    select @str 
= @str + name + ',' from syscolumns 
    
where id=object_id(@tbl_or_view_name)
    
return @str
end

GO

create function getcolumns2(
@tbl_or_view_name varchar(
100)
)
returns varchar(
1000)
begin
    declare @str varchar(
200)
    
    select @str 
= ''
    select @str 
= @str + '[' + name + '],' from syscolumns 
    
where id=object_id(@tbl_or_view_name)
    
return @str
end

GO

使用举例:
print dbo.getcolumns('dbo.TD_CITY')
结果:City_ID,City_Name,City_TelAreaCode,City_ZipCode,Province_ID,

print dbo.getcolumns2('dbo.TD_CITY')
结果:[City_ID],[City_Name],[City_TelAreaCode],[City_ZipCode],[Province_ID],


 


 

原文地址:https://www.cnblogs.com/qkhh/p/1109049.html