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 不直接显示结果出来,确实有点痛苦。害得我。。不说了。就这样,希望你不会走弯路了。

  • 相关阅读:
    远程调用之RMI、Hessian、Burlap、Httpinvoker、WebService的比较
    遍历List/Map的时候删除成员遇到的奇怪问题
    Java事务处理
    ThreadLocal学习记录
    IntelliJ IDEA+Tomcat+Nginx运行git项目
    JavaIO和JavaNIO
    Spring MVC的启动过程
    Java中的集合类
    Java中的泛型
    Java 多线程的基本概念
  • 原文地址:https://www.cnblogs.com/jiguixin/p/2601187.html
Copyright © 2011-2022 走看看