日期:2013-11-13  浏览次数:20840 次

if exists(select * from sysobjects where type='P' and name='sys_ysl_getColumnNameToArrayByTableName' )
drop procedure sys_ysl_getColumnNameToArrayByTableName
go
create procedure sys_ysl_getColumnNameToArrayByTableName
@tablename varchar(100),
@colnameArrayList varchar(1000) output

With
Encryption
as
declare @sql nvarchar(1000)
declare @colnameArray varchar(1000)
declare @colname varchar(50)
SET @sql =N'DECLARE CUR_COLNAME CURSOR FOR select a.name from syscolumns a inner join sysobjects b on a.id=b.id where b.name='''+@tablename+N''' order by a.colorder '

execute sp_executesql @sql

OPEN CUR_COLNAME
WHILE (0=0)
BEGIN
FETCH NEXT FROM CUR_COLNAME
INTO @colname

If (@@fetch_status<>0) break

IF @colnameArray<>''
set @colnameArray=@colnameArray+','+@colname
Else
set @colnameArray=@colname

END

Close CUR_COLNAME
DEALLOCATE CUR_COLNAME

set @colnameArrayList=@colnameArray


/*
print @colnameArrayList -- 供测试使用

--测试代码
DECLARE @@AA VARCHAR(100)
exec sys_ysl_getColumnNameToArrayByTableName 'SPBLA',@@AA
--结束

sp_helptext sys_ysl_getColumnNameToArrayByTableName --查看过程文本
*/