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;

       /

  • 相关阅读:
    把旧表中数据加入到新表中
    mysql字段-创建时间与更新时间
    springboot-maven依赖源
    刚刚下载的IDEA打不开
    matplotlib-实战01
    实战1-数据清理
    python函数(三)
    交换机配置DHCP中继
    python函数(二)
    用事实说话
  • 原文地址:https://www.cnblogs.com/weixiaole/p/3240551.html
Copyright © 2011-2022 走看看