Oracle的几种循环语句
来源:互联网 发布:论文数据造假查不出来 编辑:程序博客网 时间:2024/05/26 05:53
loop循环:
1 declare 2 type emp_cursor is ref cursor; 3 v_cursor emp_cursor; 4 v_emp emp%rowtype; 5 begin 6 open v_cursor for select * from emp where deptno = 10; 7 loop 8 fetch v_cursor into v_emp; 9 exit when v_cursor%notfound; 10 dbms_output.put_line('雇员名字为:'||v_emp.ename||' 薪水为:'||v_emp.sal); 11 end loop; 12 exception 13 when no_data_found then 14 dbms_output.put_line('出现异常!'); 15* end;SQL> /雇员名字为:CLARK 薪水为:2450雇员名字为:KING 薪水为:7000雇员名字为:MILLER 薪水为:1300PL/SQL 过程已成功完成。
while循环:
1 declare 2 type emp_cursor is ref cursor; 3 v_cursor emp_cursor; 4 v_emp emp%rowtype; 5 begin 6 open v_cursor for select * from emp where deptno = 10; 7 fetch v_cursor into v_emp; 8 while v_cursor%found loop 9 dbms_output.put_line('雇员名字为:'||v_emp.ename||' 薪水为:'||v_emp.sal); 10 fetch v_cursor into v_emp; 11 end loop; 12 exception 13 when no_data_found then 14 dbms_output.put_line('没有找到数据'); 15* end;SQL> /雇员名字为:CLARK 薪水为:2450雇员名字为:KING 薪水为:7000雇员名字为:MILLER 薪水为:1300PL/SQL 过程已成功完成。
for循环:
1 declare 2 cursor v_cursor is select ename from emp where deptno = 10; 3 type emp_table_type is table of emp.ename%type index by binary_integer; 4 emp_table emp_table_type; 5 begin 6 open v_cursor; 7 fetch v_cursor bulk collect into emp_table; 8 for i in 1..emp_table.count() loop 9 dbms_output.put_line('雇员名字为:'||emp_table(i)); 10 end loop; 11 exception 12 when no_data_found then 13 dbms_output.put_line('出现异常!'); 14* end;SQL> /雇员名字为:CLARK雇员名字为:KING雇员名字为:MILLERPL/SQL 过程已成功完成。
bug;在写for循环的时候由于不熟悉PL/SQL表类型,在输出ename这列时刚开始使用的是:dbms_output.put_line('雇员名字为:'||i.ename);然后报错:对变量“I”的引用无效。
然后又将i.ename改成i,然后输出的结果却是1,2,3;不是理想中的ename这一列。最后想到这是单列的表,直接改成emp_table(i),最后输出成功了。
欢迎关注行者摩罗微信公众号(xingzhemoluo),共同交流编程经验,扫描下方二维码即可;
0 0
- oracle循环语句的几种使用方法
- Oracle的几种循环语句
- Oracle循环语句及例子(几种循环语句的语法)
- SQL循环语句的几种方式
- oracle 几种游标循环的区别
- Oracle几种循环的方式
- [Oracle] 循环的几种方式
- oracle的几种循环示例
- Oracle的几种分页查询语句
- PHP中for循环语句的几种“变态”用法
- PHP中for循环语句的几种“变态”用法
- PHP中for循环语句的几种变型
- PHP中for循环语句的几种“变态”用法
- PHP中for循环语句的几种“变态”用法
- bash常用的几种循环语句格式
- oracle中的几种循环
- oracle 几种 分页语句
- sql 循环语句几种方式
- 子类
- nf_conntrack: table full, dropping packet
- 我的ubuntu 常用工具及配置
- 自己总结的ulua代码写的一些方法
- HDU 5024 Wang Xifeng's Little Plot (bfs)
- Oracle的几种循环语句
- c++格式化输出问题
- perl正则命名分组捕获
- Perl语言问题
- Minimum Path Sum
- 9.20
- Generate Parentheses
- ubuntu 备份与恢复
- CentOS yum 源的配置与使用