Oracle数据库编程:开发PL/SQL子程序和包

2014-11-24 16:51:34 · 作者: · 浏览: 0
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 又进又出。