Welcome 微信登录

首页 / 数据库 / MySQL / Oracle学习笔记之存储过程与函数

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) ASBEGIN 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;Java 写xml到 Oracle xmlTypeOracle学习笔记之表空间等概念及用户权限相关资讯      Oracle教程 
  • Oracle中纯数字的varchar2类型和  (07/29/2015 07:20:43)
  • Oracle教程:Oracle中查看DBLink密  (07/29/2015 07:16:55)
  • [Oracle] SQL*Loader 详细使用教程  (08/11/2013 21:30:36)
  • Oracle教程:Oracle中kill死锁进程  (07/29/2015 07:18:28)
  • Oracle教程:ORA-25153 临时表空间  (07/29/2015 07:13:37)
  • Oracle教程之管理安全和资源  (04/08/2013 11:39:32)
本文评论 查看全部评论 (0)
表情: 姓名: 字数