Oracle存储过程课案.ppt
文本预览下载声明
* 引用包中对象 在包中定义的任何对象既可以在包内使用,也可以在包外使用。在外部引用包中对象时,可以通过使用包名作为前缀对其进行引用,其语法格式如下: BEGIN [用户方案.][包名.]对象名; END; 在包内使用属于同一个包的对象时,可以省略包名的前缀部分。 * 课堂演示——创建包 --1. 定义包头 CREATE OR REPLACE PACKAGE SCOTT.PKG_DISPLAYPRODUCT IS --声明存储过程 PROCEDURE PRC_GETPRODUCTINFO ( pid SCOTT.PRODUCT.PRODID%TYPE, pname OUT SCOTT.PRODUCT.PRODNAME%TYPE, ctname OUT SCOTT.CATEGORY.CATEGORYNAME%TYPE, dscp OUT SCOTT.PRODUCT.DESCRIPTION%TYPE ); --声明函数 FUNCTION FUN_GETSTOCK ( pid SCOTT.PRODUCT.PRODID%TYPE ) RETURN NUMBER; END PKG_DISPLAYPRODUCT; 【案例7-7】创建包,其中包括存储过程实现根据产品编号查询产品名称、类别名称和产品描述的功能,函数实现根据产品编号返回该产品总库存量的功能。 * 课堂演示——创建包 --2. 定义包体 CREATE OR REPLACE PACKAGE BODY SCOTT.PKG_DISPLAYPRODUCT AS --存储过程的执行部分 PROCEDURE PRC_GETPRODUCTINFO ( pid SCOTT.PRODUCT.PRODID%TYPE, pname OUT SCOTT.PRODUCT.PRODNAME%TYPE, ctname OUT SCOTT.CATEGORY.CATEGORYNAME%TYPE, dscp OUT SCOTT.PRODUCT.DESCRIPTION%TYPE ) AS BEGIN SELECT PRODNAME, CATEGORYNAME, DESCRIPTION INTO pname, ctname, dscp FROM SCOTT.PRODUCT P JOIN SCOTT.CATEGORY C ON P.CATEGORYID = C.CATEGORYID WHERE P.PRODID = pid; END PRC_GETPRODUCTINFO; Linux公社(LinuxIDC.com) Linux公社(LinuxIDC.com)于2006年9月25日注册并开通网站,Linux现在已经成为一种广受关注和支持的一种操作系统,IDC是互联网数据中心,LinuxIDC就是关于Linux的数据中心。 Linux公社是专业的Linux系统门户网站,实时发布最新Linux资讯,包括Linux、Ubuntu、Fedora、RedHat、红旗Linux、Linux教程、Linux认证、SUSE Linux、Android、Oracle、Hadoop等技术。 * 课堂演示——创建包 --2. 定义包体 --函数的执行部分 FUNCTION FUN_GETSTOCK ( pid SCOTT.PRODUCT.PRODID%TYPE ) RETURN NUMBER IS stock NUMBER; BEGIN SELECT SUM(QUANTITY) INTO stock FROM SUPPLY WHERE PRODID = pid; RETURN stock; END FUN_GETSTOCK; END PKG_DISPLAYPRODUCT; * 课堂演示——创建包 --3. 调用包中对象 DECLARE pid SCOTT.PRODUCT.PRO
显示全部