sql 获取指定数据表的所有字段名称的字符串

--鉴于获取数据表的列表数据时候经常需要获取字段名称。特整理了下如下代码。

--适用场合:设计或者更新SQL存储过程的Select语句或者Insert语句

--返回字符串格式类似于:"ID,BeginTime,EndTime,AddIP,UpdateUser,UpdateTime,UpdateIP"

 

--Select name from syscolumns Where ID=OBJECT_ID('数据表名称')
--定义数据表名称
Declare @TargetTableName nvarchar(250)

Set @TargetTableName='数据表名称'
--定义列总数
Declare @TotleColumns int
select @TotleColumns=Count(*)  from syscolumns Where ID=OBJECT_ID(@TargetTableName)
--print @TotleColumns
--select *  from syscolumns Where ID=OBJECT_ID(@TargetTableName)
--定义所有字段名称字符串
Declare @ColumnsString nvarchar(4000)
Declare @TempName nvarchar(4000)
set @ColumnsString=''
set @TempName=''
declare @i int
set @i=1
while @i<=@TotleColumns
begin
--print @i
select @TempName=Name  from syscolumns Where ID=OBJECT_ID(@TargetTableName) and colOrder=@i

Set @ColumnsString=@ColumnsString+','+@TempName
set @i=@i+1
end

if left(@ColumnsString,1)=',' set @ColumnsString=substring(@ColumnsString,2,len(@ColumnsString)-1)

print @ColumnsString

posted on 2010-04-20 12:23  风灵溪清  阅读(220)  评论(0编辑  收藏  举报

导航