奇特的用法:把列名取到一个字符串中

王朝asp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

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 --查看过程文本

*/

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航