获取表或视图以逗号分隔的所有列
开发环境:SQL Server 2005
在工作中,我们经常要获取某个表或视图的所有列,有时需要返回一个以逗号分隔的所有列名。
下面是若干方法中的两种:
1. 直接拖动【
列】表查询分析器中。
2. 编写程序过程,因为是以
sp_开头的存储过程,建议写在
master数据库里面,这样在任何一个数据库里面都可以调用。脚本如下:
if
object_id('sp_GetTableColumns','P') IS NOT NULL
DROP
PROC sp_GetTableColumns
GO
/*********************
PROC:sp_GetTableColumns
Use:
获取某个表或视图以逗号
','
分隔的字段列表
Create by:Mark Yao
Create date:2008/7/3
Input:
@TblName
表或视图名称
Output:
E.g:
sp_GetTableColumns 'TeamInfo'
*********************/
CREATE
PROC sp_GetTableColumns @TblName NVARCHAR(200)
AS
SELECT
substring((
SELECT ','+name FROM syscolumns
WHERE id=object_id(@TblName) ORDER BY colorder
FOR XML PATH('')),2,1000)
GO