zoukankan      html  css  js  c++  java
  • PL/SQL 执行存储过程

    妈的,不得不吐一下,在网上到处都是答案。结果能搞定的可没几个,下面经过亲测是对的。

             首先PL/SQL分为“命令窗体”和”SQL窗体”,我一般都是在”SQL窗体”干活,结果执行存储过程老是不对头。都不知道是不是SQL写错了。哎!最后还是在“命令窗体”搞定了。

    还是引用人家的例子吧:

    SQL> CREATE OR REPLACE PROCEDURE A(I OUT VARCHAR2,
      2                                J IN NUMBER,
      3                                K IN VARCHAR2) AS
      4  BEGIN
      5    I := TO_CHAR(J) || K;
      6  END;
      7  /
     
    Procedure created 
     
    SQL> SET SERVEROUTPUT ON
    SQL> 
    SQL> DECLARE
      2  v_i VARCHAR2(2000);
      3  BEGIN
      4  A(v_i,123,'ABC');
      5  DBMS_OUTPUT.put_line(V_I);
      6  END;
      7  /
     
    123ABC
     
    PL/SQL procedure successfully completed

    还是说明一下,免得出错。

    1,“/”这个杠杠很重要,就相当于是SQL SERVER 的GO语句。

    2,如果你第一次没有输出结果,那么就是因为没有用这句:SET SERVEROUTPUT ON

    而在SQL 窗体中怎么执行存储过程

    DECLARE
      v_i VARCHAR2(2000);
      i VARCHAR2(50);
    BEGIN 
      i:='test1111';
      A(v_i,123,i); 
      DBMS_OUTPUT.put_line(v_i);
    END;

    对于显示执行完成,结果没有出现结果值,不用怕,在这里面就可以看到结果了。

    image

    对于用惯了SQL SERVER 不直接显示结果出来,确实有点痛苦。害得我。。不说了。就这样,希望你不会走弯路了。

  • 相关阅读:
    python全栈开发_day17_时间,系统模板和序列化
    python全栈开发_day15_函数回调和模块
    python全栈开发_day16_包
    pygame学习_part1_pygame写程序前的准备工作
    python全栈开发_day15_模块学习
    不确定性推理复习
    hibernate级联关系
    hibernate双向一对多关联关系
    实践:hibernate-one2many(单向)
    我的学习(修改完善)
  • 原文地址:https://www.cnblogs.com/jiguixin/p/2601187.html
Copyright © 2011-2022 走看看