WHILE (Transact-SQL)

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值