努力用很一天时间,终于搞定了,如何获取一张数据表中所有的字段名!对于字段名很多的数据表,尤其是在同步数据的时候,很实用……
--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
呵呵……总算搞定了……分享给大家,本来还想写一个程序,来获取一张表中所有字段值都不为空的字段名,可惜电脑出现一点小问题了,如果哪位高手看到了我这篇文章,请告诉我您的做法,让我学习一下,非常感谢!·