Oracle学习笔记之存储过程与函数

本文介绍PL/SQL中的函数与存储过程的基本概念及应用示例,包括创建与调用的方法。函数用于返回单一值,而存储过程则用于执行一系列数据库操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        PL/SQL是对Oracle数据库进行操作的一种过程性编程语言,它可以在SQL * plus中执行,也可以嵌入到JAVA或者C++中。其基本组成为:

DECLARE

...

BEGIN

...

EXCEPTION

...

END

可用来将对数据库的各种操作封装为一个代码块,为了加强可重用性,还可将重复性代码写成函数与存储过程,用参数表示变化的部分。

 

        函数与存储过程的区别是,函数返回一个值,而存储过程没有返回值,不过存储过程也可通过指定参数的IN|OUT形式来达到将处理结果读出来的目的。

      

1.存储过程创建示例:

CREATE OR REPLACE PROCEDURE callme(p1 number,p2 varchar2,p3 varchar2) AS

BEGIN

 INSERT INTO test values(p1,p2);

END callme;    

 

 

2.存储过程使用示例:

DECLARE

 val1 number:=16;

 val2 varchar2(20):='过程插入的新部门2';

 val3 varchar2(12);

BEGIN

 callme(val1,val2,val3);

END;

 

 

3.函数创建示例:

 

CREATE OR REPLACE FUNCTION CountRows(p1 number) RETURN NUMBER AS

 v_number NUMBER;

BEGIN

 SELECT count(*) INTO v_number FROM test WHERE id > p1;

 RETURN v_number;

END;

 

 

 

4.函数调用示例:

 

set serveroutput on /*只有设置了这行,才会显示输出结果*/

DECLARE

 v_number NUMBER;

 p_minid NUMBER;

BEGIN

 p_minid:=0;

 v_number:=CountRows(p_minid);

 DBMS_OUTPUT.PUT_LINE('部门号大于'||p_minid||'的部门有'||v_number||'个');

END;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值