sql语句获取数据表的所有列名

 努力用很一天时间,终于搞定了,如何获取一张数据表中所有的字段名!对于字段名很多的数据表,尤其是在同步数据的时候,很实用……

 

--DROP PROCEDURE Gettablecolumns

Create PROCEDURE Gettablecolumns
--@name TABLE(name varchar(100))
AS
  
 --EXEC Gettablecolumns  'CURdUsers'
DECLARE  @name TABLE(name varchar(100))   ---数据表变量
DECLARE @sql VARCHAR(max)   ---存放所有字段名
DECLARE @str VARCHAR(100) ---取单一字段名

insert @name VALUES ('CURdUsers')

SET @sql=''

CREATE TABLE #name(SN INT IDENTITY(1,1),NAME NVARCHAR(100))

INSERT INTO #name
SELECT name FROM SYS.all_columns WHERE object_id IN (
SELECT DISTINCT object_id FROM sys.tables WHERE name=(SELECT name FROM @name)) ORDER BY column_id     ----找到列名

DECLARE @A INT

DECLARE getname CURSOR FOR SELECT NAME FROM #name    ------建立游标,逐一取列名
OPEN getname

FETCH NEXT FROM getname INTO @str

WHILE @@FETCH_STATUS=0
BEGIN

 select   @sql=@sql+','+@str 
 FETCH NEXT FROM getname INTO @str

 END
 PRINT @sql     -----------输出列名
CLOSE getname
DEALLOCATE getname

呵呵……总算搞定了……分享给大家,本来还想写一个程序,来获取一张表中所有字段值都不为空的字段名,可惜电脑出现一点小问题了,如果哪位高手看到了我这篇文章,请告诉我您的做法,让我学习一下,非常感谢!·
 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值