为了账号安全,请及时绑定邮箱和手机立即绑定

plsql块里面 不只是 else if 吧 只能是 elsif

-- 最好在存储过程的结尾加个显式提交!

SQL> create table dept10 as select * from dept where 1=2;

表已创建。

SQL> create table dept20 as select * from dept where 1=2;

表已创建。

SQL> create table dept30 as select * from dept where 1=2;

表已创建。

SQL> create or replace procedure mypro
2 as
3 cursor cur_deptno is select * from dept;
4 deptInfo dept%rowtype;
5 begin
6 for deptInfo in cur_deptno loop
7 if deptInfo.deptno=10 then
8 insert into dept10 values(deptInfo.deptno,deptInfo.dname,deptInfo.loc);
9 elsif deptInfo.deptno=20 then
10 insert into dept20 values(deptInfo.deptno,deptInfo.dname,deptInfo.loc);
11 elsif deptInfo.deptno=30 then
12 insert into dept30 values(deptInfo.deptno,deptInfo.dname,deptInfo.loc);
13 end if;
14 end loop;
15 end;
16 /

过程已创建。

SQL> exec mypro;

PL/SQL 过程已成功完成。

SQL> select * from dept10;

DEPTNO DNAME                        LOC

    10 ACCOUNTING                   NEW YORK

已选择 1 行。

SQL> select * from dept20;

DEPTNO DNAME                        LOC

    20 RESEARCH                     DALLAS

已选择 1 行。

SQL> select * from dept30;

DEPTNO DNAME                        LOC

    30 SALES                        CHICAGO

已选择 1 行。

SQL> rollback;

回退已完成。

SQL> select * from dept10;

未选定行

点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消