--鉴于获取数据表的列表数据时候经常需要获取字段名称。特整理了下如下代码。
--适用场合:设计或者更新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