Oracle数据库编程:开发PL/SQL子程序和包
Oracle数据库编程:开发PL/SQL子程序和包
开发PL/SQL子程序和包:
子程序:
运行时是编译而不是运行,要调用才会有结果。
子程序分为过程(store procedure)和函数(function),保存到数据库中,直属与库。DML增、删、改用过程,计算用函数。
过程:没有返回值。
create or replace procedure sp_test1 (p_num number, p_num1 out number, p_num2 in out number) is
函数:有且只有一个返回值。
数据类型必须是数据表支持的类型。
create or replace function func_test1 (p_num number, p_num1 out number) return number is
调用:
sql调用:all 名字();
命令行调用:exec 名字;
自身调用:名字;
包:
建立包规范: 只有声明没有实现,相当于接口。 create or replace package pac_name is end pac_name; 建立包体: create or replace package body pac_name is 实现内容 end pac_name;
调用包时加上类名作为前缀(包名.组件名):
参数类型:
in 只进不出(传入的参数不能被赋值,可以传入整型常量);
out 只出不进(不能穿整型常量,只能传变量,传入参数可以被赋值);
in out 又进又出。