oracle 存储过程和函数例子

 更新时间:2009年08月05日 22:58:48   作者:  
本文没有对PL/SQL中的东西有什么说明,只是简单的举了几个例子,希望对大家有用!
作者:peace.zhao
关于 游标 if,for 的例子
create or replace procedure peace_if
is
cursor var_c is select * from grade;
begin
for temp in var_c loop
if temp.course_name = 'OS' then
dbms_output.put_line('Stu_name = '||temp.stu_name);
elsif temp.course_name = 'DB' then
dbms_output.put_line('DB');
else
dbms_output.put_line('feng la feng la ');
end if;
end loop;
end;
---关于游标 for,case 的例子1
create or replace procedure peace_case1
is
cursor var_c is select * from test_case;
begin
for temp in var_c loop
case temp.vol
when 1 then
dbms_output.put_line('haha1');
when 2 then
dbms_output.put_line('haha2');
when 3 then
dbms_output.put_line('haha3');
when 4 then
dbms_output.put_line('haha4');
else
dbms_output.put_line('qita');
end case ;
end loop;
end;
---关于游标 for,case 的例子2
create or replace procedure peace_case2
is
cursor var_c is select * from test_case;
begin
for temp in var_c loop
case
when temp.vol=1 then
dbms_output.put_line('haha1');
when temp.vol=2 then
dbms_output.put_line('haha2');
when temp.vol=3 then
dbms_output.put_line('haha3');
when temp.vol=4 then
dbms_output.put_line('haha4');
else
dbms_output.put_line('qita');
end case ;
end loop;
end;
---关于for 循环的例子
create or replace procedure peace_for
is
sum1 number :=0;
temp varchar2(500);
begin
for i in 1..9 loop
temp := '';
for j in 1 .. i
loop
sum1 := i * j;
temp := temp||to_char(i) || ' * ' ||to_char(j) ||' = ' ||to_char(sum1) ||' ';
end loop;
dbms_output.put_line(temp );
end loop;
end;
---关于 loop循环的例子
create or replace procedure peace_loop
is
sum1 number := 0;
temp number :=0 ;
begin
loop
exit when temp >= 10 ;
sum1 := sum1+temp;
temp := temp +1;
end loop;
dbms_output.put_line(sum1 );
end;

---关于游标和loop循环的例子
create or replace procedure loop_cur
is
stu_name varchar2(100);
course_name varchar2(100);
cursor var_cur is select * from grade ;
begin
open var_cur;
loop
fetch var_cur into stu_name,course_name;
exit when var_cur%notfound;
dbms_output.put_line(stu_name|| course_name);
end loop;
close var_cur;
end;
---关于异常处理的例子
create or replace procedure peace_exp(in1 in varchar2)
is
c_n varchar2(100);
begin
select course_name into c_n from grade where stu_name = in1;
dbms_output.put_line(c_n);
exception
when no_data_found
then
dbms_output.put_line('try');
when TOO_MANY_ROWS
then
dbms_output.put_line('more');
end;

---关于异常处理的例子2
create or replace procedure peace_insert ( c_n in varchar2)
is
error EXCEPTION;
begin
if c_n = 'OK'
then
insert into course (course_name) values (c_n);
elsif c_n = 'NG' then
insert into course (course_name) values (c_n);
raise error;
else
Dbms_Output.put_line('c_n' || c_n);
end if;
commit;
exception
when error then
rollback;
Dbms_Output.put_line('ERRO');
end;
---关于包的例子 定义包
create or replace package peace_pkg
as
function test1(in1 in varchar2)
return number;
procedure test2 (in2 in varchar2);
end peace_pkg;
---关于包的例子 定义包体
create or replace package body peace_pkg
as
function test1(in1 in varchar2)
return number
as
temp number;
begin
temp := 0;
return temp;
end;
procedure test2 (in2 in varchar2)
is
begin
dbms_output.put_line(in2);
end;
end peace_pkg;

相关文章

  • OB Oracle系统视图权限导致的故障解决案例

    OB Oracle系统视图权限导致的故障解决案例

    在 Oracle 和 OB Oracle 租户下调用存储过程时,两者表现并不一致,导致获取到的 SQL 文本拼接不完整,影响到了业务侧的功能测试,本文将针对这个问题进行相关的测试和验证
    2023-10-10
  • 使用JDBC连接ORACLE的三种URL格式

    使用JDBC连接ORACLE的三种URL格式

    这篇文章主要介绍了JDBC连接使用JDBC连接ORACLE的三种URL格式,每种格式通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-10-10
  • 查看Oracle数据库中UNDO表空间的使用情况(最新推荐)

    查看Oracle数据库中UNDO表空间的使用情况(最新推荐)

    Oracle数据库中查看UNDO表空间使用情况的4种方法:DBA_TABLESPACES和DBA_DATA_FILES提供基本信息,V$UNDOSTAT显示使用统计信息,DBA_FREE_SPACE查看空闲空间,V$TRANSACTION显示当前事务占用的UNDO情况,本文介绍Oracle数据库中UNDO表空间的使用情况,感兴趣的朋友一起看看吧
    2025-03-03
  • Oracle 中 decode 函数用法

    Oracle 中 decode 函数用法

    这篇文章主要介绍了Oracle 中 decode 函数用法的相关资料,需要的朋友可以参考下
    2017-10-10
  • Oracle中正则表达式的使用实例教程

    Oracle中正则表达式的使用实例教程

    大家对正则表达式应该都不会陌生,从linux下的命令到Java等编程语言,正则表达式无处不在,虽然我们实际使用不一定太多,但是当我们要处理字符串时,它确实是一个强大的工具。这篇文章主要给大家介绍了关于Oracle中正则表达式使用的相关资料,需要的朋友可以参考下。
    2017-10-10
  • 查看oracle数据库的编码及修改编码格式的方法

    查看oracle数据库的编码及修改编码格式的方法

    本节主要介绍了如何查看oracle数据库的编码及修改编码格式,需要的朋友可以参考下
    2014-07-07
  • Oracle中scott表结构与简单查询实例分析

    Oracle中scott表结构与简单查询实例分析

    这篇文章主要介绍了Oracle中scott表结构与简单查询,实例分析Oracle查询的相关技巧,需要的朋友可以参考下
    2015-04-04
  • oracle重置序列从0开始递增1

    oracle重置序列从0开始递增1

    这篇文章介绍了oracle重置序列的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • Oracle查看表结构命令详解

    Oracle查看表结构命令详解

    这篇文章主要介绍了Oracle查看表结构命令详解的相关资料,需要的朋友可以参考下
    2017-07-07
  • 浅谈入门级oracle数据库数据导入导出步骤

    浅谈入门级oracle数据库数据导入导出步骤

    这篇文章主要介绍了浅谈入门级oracle数据库数据导入导出步骤,文章通过步骤解析介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08

最新评论