数据库中包的使用
create or replace package pg_test is --包:公开的:开放包体的程序名的定义,提供给外部访问 procedure pr_test; function fn_test2(tablename in varchar2) return number; end pg_test;
create or replace package body pg_test is --包体:存放程序,私有的。 --定义了存储过程 procedure pr_test is begin --存储过程代码 Dbms_Output.put_line('这是输出的一句话'); --serveroutput 系统设置想 是否在命令窗口输出是 默认是off --set serveroutput on; 打开系统输出为on --只针对当前命令窗口有效 update student set ssex='男' where ssex='1'; commit; Dbms_Output.put_line('修改数据成功'); end pr_test; function fn_test2(tablename in varchar2) return number is rtn number ; begin --通用的而获取表的数据行数的函数 --执行的语句不是固定的 EXECUTE IMMEDIATE' select count(1) from '|| tablename into rtn; --'insert into student values (:1,:2)' using return(rtn); exception when others then --处理异常 dbms_output.put_line('发生异常'); return(-1); end fn_test2; end pg_test;