在sql中如何写循环

bobcat79 2002-11-28 09:07:28
编写一个在循环中操作一些表的存储过程。各个表的名称必须赋给一个变量,但
sqlserver2000好像不支持表名称是变量。如何解决这一问题
...全文
86 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Drate 2002-11-28
  • 打赏
  • 举报
回复
示例
A. 在嵌套的 IF...ELSE 和 WHILE 中使用 BREAK 和 CONTINUE
在下例中,如果平均价格少于 $30,WHILE 循环就将价格加倍,然后选择最高价。如果最高价少于或等于 $50,WHILE 循环重新启动并再次将价格加倍。该循环不断地将价格加倍直到最高价格超过 $50,然后退出 WHILE 循环并打印一条消息。

USE pubs
GO
WHILE (SELECT AVG(price) FROM titles) < $30
BEGIN
UPDATE titles
SET price = price * 2
SELECT MAX(price) FROM titles
IF (SELECT MAX(price) FROM titles) > $50
BREAK
ELSE
CONTINUE
END
PRINT 'Too much for the market to bear'

----摘自《SQL SERVER 2000联机帮助》
CCEO 2002-11-28
  • 打赏
  • 举报
回复
少了一句,最后加:
exec (@sql)
CCEO 2002-11-28
  • 打赏
  • 举报
回复
循环:
while 条件
begin
.....
end

表名称是变量:
declare @sql varchar(1000)
set @sql='insert into '+@tablename+' values (1,2,''A'')'

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧