首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

PLSQL 循环语句有关问题

2012-07-30 
PLSQL 循环语句问题user1表Id125user2表idnum12345就是判断user1表ID是否按顺序增长,如果是就插入USER2的i

PLSQL 循环语句问题
user1表
Id
1
2
5

user2表
id num
1
2
  3
  4
5

就是判断user1表ID是否按顺序增长,如果是就插入USER2的id,如果没有这个数就插入num,得到的结果是user2表
我是这样写的

Declare 
i Number:=0;
Begin
Loop 
i:=i+1;
For c_num In (Select Id From user1)
Loop 
If c_num.id=i Then 
Insert Into User2(Id) Values (c_num.id);
Else 
Insert Into user2(num) Values (i);
End If;
End Loop ;
Exit When i=5;
End Loop;
Commit;
End;

但是结果是插入了5次
Select * From user2
id num

  1
  1
  1
  1

  2
  2 
  2
  2
  3
  3
.....

各位看下是那里写错了?怎么循环插入了5次?我只需要一次


[解决办法]

探讨

引用:
在这个之后加exit试试
If c_num.id=i Then
Insert Into User2(Id) Values (c_num.id);
Else
Insert Into user2(num) Values (i);
End If;
exit;


结果这样user2表
id num
1
2
3
4
……

热点排行