zoukankan      html  css  js  c++  java
  • Oracle学习--->8、PL/SQL子程序进阶

    1、在SQL中调用子程序

       编写的PL/SQL函数可以像Oracle内置函数一样调用,需要遵循一定的规则:

    • 所有函数必须是IN模式,OUT和IN OUT模式参数是不能被SQL语句使用
    • 函数参数的数据类型和RETURN子句的返回类型必须能被Oracle数据库识别,这是因为PL/SQL兼容所有的Oracle数据类型
    • PL/SQL扩充了自己的类型,比如BOOLEAN/INTEGER/记录/集合、程序员自定义
    • 函数必须被存储在数据库中,在客户端PL/SQL环境中定义的PL/SQL函数是不能被SQL调用到的
    • 自定义函数不能修改数据库表,不能执行DDL语句,比如CREATE TABLE/DROP INDEX
    • 自定义函数不能执行INSERT/DELETE/MERGE/UPDATE
    • 自定义函数不能使用COMMIT/ROLLBACK
    自定义可以被调用的子程序
    CREATE
    OR REPLACE FUNCTION getDepartment ( p_empNo EMPLOYEER.EMPLOYEER_ID%TYPE) RETURN VARCHAR2 AS v_departName EMP_DEPARTMENT.DEPARTMENT_NAME%TYPE; BEGIN SELECT DEPARTMENT_NAME INTO v_departName FROM EMPLOYEER EMP, EMP_DEPARTMENT PAR WHERE EMP.DEPARTMENT_ID = PAR.DEPARTMENT_ID AND EMP.EMPLOYEER_ID = p_empNo; RETURN v_departName; EXCEPTION WHEN NO_DATA_FOUND THEN RETURN NULL; END;
    直接调用自定义子程序(getDepartment)
    SELECT employeer_id 员工工号, getDepartment (employeer_id) 员工部门 FROM EMPLOYEER;

     2、嵌套子程序

    3、子程序的向前声明

    4、重载子程序

    5、子程序自治事务

    6、递归调用子程序

    7、理解子程序依赖性

    8、子程序权限管理

  • 相关阅读:
    2016工作总结与反思
    JSP 标准标签库(JSTL)
    JQuery遍历CheckBox踩坑记
    JAVA中按照""截取字符串
    file上传图片功能
    List转化为Map
    Map转化为List
    对JAVA的LIST进行排序
    根据制定ID查询信息
    制定查询条数
  • 原文地址:https://www.cnblogs.com/LiGengMing/p/6096471.html
Copyright © 2011-2022 走看看