首页 > 数据库技术 > 详细

WHILE (Transact-SQL)

时间:2015-01-15 12:32:17      阅读:236      评论:0      收藏:0      [点我收藏+]
---循环
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‘;

 

WHILE (Transact-SQL)

原文:http://www.cnblogs.com/geovindu/p/4225885.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!