zoukankan      html  css  js  c++  java
  • 这是关于之前的存储过程小练习的优化版本

    CREATE OR REPLACE PROCEDURE PRO_ASDF(I_GZ IN NUMBER,O_ONTE OUT NUMBER,O_SQL OUT VARCHAR2)--有入参,出参
    AS
    V_GZ NUMBER(30):=I_GZ;--初始化变量
    V_SQL VARCHAR2(200);

    BEGIN
    /* O_NO NUMBER(10):=1;*/
    O_ONTE :=1;--提示
    O_SQL:='ok';--提示
    FOR XX IN (SELECT * FROM SCOTT.EMP) LOOP
    IF XX.SAL<=V_GZ THEN
    UPDATE ASDF T SET T.SAL=T.SAL+500 WHERE T.EMPNO=XX.EMPNO;--where避免笛卡尔积
    ELSE
    UPDATE ASDF T SET T.SAL=T.SAL+1000 WHERE T.EMPNO=XX.EMPNO;
    END IF;
    END LOOP;
    COMMIT;
    V_SQL:='SELECT * FROM ASDF T WHERE T.GZ='||V_GZ||'ASDF';--这里是引号的作用
    DBMS_OUTPUT.PUT_LINE(V_SQL);

    EXCEPTION WHEN OTHERS THEN --异常处理
    ROLLBACK;
    O_ONTE :=-1;
    O_SQL:=SQLERRM;--异常信息
    END PRO_ASDF;

    下面是截图:

    主要优化:

    1.减少了一些错误的发生,比如少了end if,逗号啊,冒号啊等等。

    2.增加了入参出参。

    3.增加了提示信息。

    4.增加了异常处理。

    5.增加了引号的作用。V_SQL:='XXXXXXXXXXXXX'

    6.菜鸟成长中。。。。

  • 相关阅读:
    gentoo Wireless Configuration
    Gentoo: Chrome
    Gentoo: user's permission
    参考
    GithubPages上部署hexo
    hexo 个人博客搭建
    服务器修改用户名和密码
    CentOS 服务器搭建 mediawiki
    mysql 修复命令日志
    个体如何采用敏捷的工作方式
  • 原文地址:https://www.cnblogs.com/zzzhw/p/9951975.html
Copyright © 2011-2022 走看看