Oracle学习笔记之存储过程与函数 |
发布时间: 2012/8/22 16:48:10 |
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; 本文出自:亿恩科技【www.enkj.com】 |