---循环 declare @n int declare @rowcount int declare @name varchar(50) create table #temp ( id int identity(1,1), ColumnNme nvarchar(100) ) insert into #temp select COLUMN_NAME from 数据库名.INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='表名' --表名 set @rowcount=@@rowcount set @n=1 while @n<@rowcount begin select @name=ColumnNme from #temp where id=@n print('strSql.Append("'+@name+'=@'+@name+',");') set @n=@n+1 end drop table #temp --游标 declare @name nvarchar(max) declare geovindu_cursor cursor for select COLUMN_NAME from 数据库名.INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='表名' --表名 open geovindu_cursor fetch next from geovindu_cursor into @name while(@@fetch_status=0) begin print('strSql.Append("'+@name+'=@'+@name+',");') fetch next from geovindu_cursor into @name end close geovindu_cursor deallocate geovindu_cursor --ms sql里的控制字符列表: --Tab char(9) --换行 char(10) --回车 char(13) --单引号 char(39) --双引号 char(34) WHILE (SELECT AVG(ListPrice) FROM Production.Product) < $300 BEGIN UPDATE Production.Product SET ListPrice = ListPrice * 2 SELECT MAX(ListPrice) FROM Production.Product IF (SELECT MAX(ListPrice) FROM Production.Product) > $500 BREAK ELSE CONTINUE END PRINT 'Too much for the market to bear';