• PL/SQL之存储过程和触发器实例


    1、Oracle存储过程实例

    /*不带任何参数存储过程(输出系统日期)*/
    CREATE OR REPLACE PROCEDURE output_date IS
    BEGIN
        DBMS_OUTPUT.PUT_LINE(SYSDATE);
    END output_date;
    
    /*带参数in和out的存储过程*/
    CREATE OR REPLACE PROCEDURE get_username(v_id IN NUMBER,v_username OUT VARCHAR2) AS
    BEGIN
      SELECT username INTO v_username FROM t_users WHERE id = v_id; --变量赋值 
    EXCEPTION
        WHEN NO_DATA_FOUND THEN 
        RAISE_APPLICATION_ERROR(-20001,'记录不存在');
    END get_username;

    2、Oracle触发器实例

    CREATE OR REPLACE TRIGGER trigger_name
    AFTER INSERT OR UPDATE OR DELETE ON ITIL_USR_DEPARTMENT_DAG
    FOR EACH ROW 
    BEGIN
         CASE
             WHEN INSERTING THEN
                  INSERT INTO sys(id,ORG_NAME,ALIAS,PARENT_ORG_NAME) VALUSE(:new.id,:new.name,:new.alias,:new.p_name);
             WHEN UPDATING THEN
                  UPDATE sys SET ORG_NAME=:new.name,ALIAS=:new.alias,PARENT_ORG_NAME=:new.p_name WHERE id=:new.id;
             WHEN DELETING THEN
                  DELETE sys WHERE id=:old.id;
         END CASE;
    END;
  • 相关阅读:
    常用的npm指令总结
    Mongoose基础
    2016总结与展望
    sleep与wait的区别
    查询平均分大于80分的学生
    求最大不重复子串
    快速排序
    按位与(&)运算的作用
    异或运算的作用
    java 字符串中的每个单词的倒序输出
  • 原文地址:https://www.cnblogs.com/hehaiyang/p/4745337.html
Copyright © 2020-2023  润新知