---循环
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';