oracle 存储过程打印语句,oracle 存储过程语句总结[通俗易懂]

oracle 存储过程打印语句,oracle 存储过程语句总结[通俗易懂]1、ExitWhen循环:createorreplaceprocedureproc_test_exit_whenisinumber;begini:=0;LOOPExitWhen(i>5);Dbms_Output.put_line(i);i:=i+1;ENDLOOP;endproc_test_exit_when;createorreplaceprocedureproc_te…

大家好,又见面了,我是你们的朋友全栈君。

1、Exit When循环:

create or replace procedure proc_test_exit_when is

i number;

begin

i:=0;

LOOP

Exit When(i>5);

Dbms_Output.put_line(i);

i:=i+1;

END LOOP;

end proc_test_exit_when;

createorreplaceprocedureproc_test_exit_whenis

i number;

begin

i:=0;

LOOP

Exit When(i>5);

Dbms_Output.put_line(i);

i:=i+1;

ENDLOOP;

endproc_test_exit_when;

2、Loop循环:

create or replace procedure proc_test_loop is

i number;

begin

i:=0;

loop

i:=i+1;

dbms_output.put_line(i);

if i>5 then

exit;

end if;

end loop;

end proc_test_loop;

createorreplaceprocedureproc_test_loopis

i number;

begin

i:=0;

loop

i:=i+1;

dbms_output.put_line(i);

if i>5 then

exit;

endif;

endloop;

endproc_test_loop;

3、While循环:

create or replace procedure proc_test_while is

i number;

begin

i:=0;

while i<5 loop

i:=i+1;

dbms_output.put_line(i);

end loop;

end proc_test_while;

createorreplaceprocedureproc_test_whileis

i number;

begin

i:=0;

while i<5 loop

i:=i+1;

dbms_output.put_line(i);

endloop;

endproc_test_while;

4、For普通循环:

create or replace procedure proc_test_for is

i number;

begin

i:=0;

for i in 1..5 loop

dbms_output.put_line(i);

end loop;

end proc_test_for;

createorreplaceprocedureproc_test_foris

i number;

begin

i:=0;

foriin1..5 loop

dbms_output.put_line(i);

endloop;

endproc_test_for;

5、For游标循环:

create or replace procedure proc_test_cursor is

userRow test%rowtype;

cursor userRows is

select * from test;

begin

for userRow in userRows loop

dbms_output.put_line(userRow.id||’,’||userRow.Name||’,’||userRows%rowcount);

end loop;

end proc_test_cursor;

createorreplaceprocedureproc_test_cursoris

userRow test%rowtype;

cursoruserRowsis

select*fromtest;

begin

foruserRowinuserRows loop

dbms_output.put_line(userRow.id||’,’||userRow.Name||’,’||userRows%rowcount);

endloop;

endproc_test_cursor;

上面所示为存储过程相应代码,你可以通过如下方式进行测试:

进入pl/sql, 执行 文件->新建->程序窗口->空白,拷贝以上各段代码,到pl/sql空白窗口中,安F8执行编译。

再 执行 文件->新建->命令窗口 进入命令窗口 执行一下  set serveroutput on 这句代码,然后,输入exec 相应存储过程,ok。

第5中循环 要求新建一个名为test的表 字段 id、name,插入几条数据,进行测试即可。

oracle 条件语句总结:

Oracle 中两种条件控制语句

1. IF……THEN

ELSIF……THEN

ELSE

END IF;

2. CASE

WHEN……THEN

WHEN……THEN

ELSE

END CASE;

///

//IF的条件语句

///

DECLARE

x NUMBER;

y VARCHAR2(10);

BEGIN

x:=2;

IF x=1 THEN

y:=’A’;

ELSIF x=2 THEN

y:=’B’;

ELSIF x=3 THEN

y:=’C’;

ELSE

y:=’Others’;

END IF;

DBMS_OUTPUT.PUT_LINE(‘y的值为:’||y);

END;

/

DECLARE  x NUMBER;  y VARCHAR2(10);BEGIN  x:=2;  IF x=1 THEN    y:=’A’;  ELSIF x=2 THEN    y:=’B’;  ELSIF x=3 THEN    y:=’C’;  ELSE    y:=’Others’;  END IF;  DBMS_OUTPUT.PUT_LINE(‘y

的值为:’||y);END;/

///

//CASE的条件语句

///

DECLARE

x NUMBER;

y VARCHAR2(10);

BEGIN

x:=2;

CASE

WHEN x=1 THEN y=’A’;

WHEN x=2 THEN y=’B’;

WHEN x=3 THEN y=’C’;

ELSE y=’Others’;

END CASE;

DBMS_OUTPUT.PUT_LINE(‘y的值为:’||y);

END;

/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/160925.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月16日 下午11:46
下一篇 2022年7月17日 上午6:00


相关推荐

  • java面试题:voliate底层原理——详解

    java面试题:voliate底层原理——详解1.voliate底层原理1.1voliate变量的特点可见性:当一个线程修改了声明为volatile变量的值,新值对于其他要读该变量的线程来说是立即可见的。有序性:volatile变量的所谓有序性也就是被声明为volatile的变量的临界区代码的执行是有顺序的,即禁止指令重排序。受限原子性:volatile变量不可保证原子性1.2voliate如何实现变量多线程安全?实际上,voliate实现多线程情况下的变量安全其实就是通过以下两个方式:1)实现变量可见性2)禁止指令重

    2022年5月22日
    71
  • matlab数字图像处理实验

    matlab数字图像处理实验计算机图像处理实验课 1 9 看完本课程可以让你 matlab 技能小小进步 对图像处理稍微了解 一 matlab 数字图像处理实验 guide 的简单使用教程 二 matlab 数字图像处理实验 图像的几何变换 三 matlab 数字图像处理实验 图像灰度变换处理 四 matlab 数字图像处理实验 平滑处理未完待续

    2026年3月17日
    2
  • vscode注释快捷键失效_qt注释快捷键

    vscode注释快捷键失效_qt注释快捷键注释有两种,如果是单行注释,可以使用快捷键【ctrl】+【/】来注释。这样就能单行注释代码,样式为://Wearedevelopers注释错了想要取消,再按一遍即可。如果是多行注释(块注释),那么快捷键为【Alt】+【Shift】+【A】样式为:/*Wearedevelopers*/同样的再按一遍即可取消。你也可以选择代码,使用上方菜单的【编辑】来手动注释代码。

    2022年8月15日
    10
  • Wireshark过滤规则的使用!「建议收藏」

    Wireshark过滤规则的使用!「建议收藏」文章目录MAC地址过滤显示包含的MAC地址只显示源MAC地址只显示目标MAC地址IP地址过滤显示包含的IP地址只显示源IP地址只显示目标IP地址端口号过滤显示包含端口号为80的报文只显示源端口号为80的报文只显示目标端口号为80的报文过滤高层协议语法MAC地址过滤显示包含的MAC地址eth.addr==38:b1:db:d4:41:c5不管是源MAC地址还是目标MAC地址,只要包含38:b1:db:d4:41:c5的MAC地址都会显示出来只显示源MAC地址eth.src==38:b1:

    2022年7月13日
    29
  • Qwen3-Max参数规模超万亿,多项基准测试达SOTA,预告推理增强版本达奥数竞赛满分水平

    Qwen3-Max参数规模超万亿,多项基准测试达SOTA,预告推理增强版本达奥数竞赛满分水平

    2026年3月13日
    1
  • Java优先队列(PriorityQueue)

    Java优先队列(PriorityQueue)参考 http www importnew com 6932 htmlhttps www cnblogs com gnivor p 4841191 html 我们知道队列是遵循先进先出 First In First Out 模式的 但有些时候需要在队列中基于优先级处理对象 举个例子 比方说我们有一个每日交易时段生成股票报告的应用程序 需要处理大量数据并且花费很多处理时间 客户向这个应用程

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号