zoukankan      html  css  js  c++  java
  • Oracle PL/SQL高级应用 存储过程

    有名字的Plsql块,成为Oracle的对象,在以后用到时可以直接调用。

    CREATE OR REPLACE PROCEDURE myproc(id IN varchar2) IS     -IN 为输入参数 参数不加长度
    name varchar2(10);            --这里定义的变量必须给长度
    BEGIN
    SELECT books_name INTO name FROM books WHERE books_id=id;
    DBMS_OUTPUT.PUT_LINE(name);
    END myproc;
    /

    执行方法:

    1.SQL>EXECUTE myproc('123');

      这种方法是存储过程没有参数或是参数为 IN 类型 不是 OUT INOUT

    2.SQL>DECLARE

        tid varchar2(10);

        BEGIN

        tid:='0001';

        myproc(tid);

        END;

        /

    3.SQL>BEGIN

        myproc('0001');

        END;

        /

        这种方式是送参为常量

    输出参数的存储过程:

    CREATE OR REPLACE PROCEDURE myproc2(id varchar2,name OUT varchar2) IS   --id的参数类型为IN 是系统默认IN
    BEGIN
    SELECT books_name INTO name FROM books WHERE books_id=id;
    END;
    /

    执行方法:

    SQL>DECLARE

       tid varchar2(10);

       tname varchar2(10);

       BEGIN

       tid:='0001';

       myproc2(tid,tname);

       END;

       /

  • 相关阅读:
    20-存储过程
    21-事务
    18-触发器
    19-函数
    16-pymysql模块的使用
    17-视图
    CodeForces 1369B. AccurateLee
    CodeForces 1312D.Count the Arrays(组合数学)
    CodeForces 1362D. Johnny and Contribution
    CodeForces 1363F. Rotating Substrings
  • 原文地址:https://www.cnblogs.com/weixiaole/p/3240551.html
Copyright © 2011-2022 走看看