在SQL/PLUS中调用存储过程,显示结果:
SQL>set serveoutput on
SQL>var info1 number;  --输出1
SQL>var info2 number;  --输出2
SQL>declare
    var1 varchar2(20);   --输入1
    var2 varchar2(20);  --输入2
    var3 varchar2(20);   --输入2
    BEGIN
      pro(var1,var2,var3,:info1,:info2);
    END;
    /
SQL>print info1;
SQL>print info2;

解决方案 »

  1.   

    在delphi中,防止一个TStoredProc控件,连接数据库中的存储过程,再传给输入参数值就OK了
      ProcPLYS.close;
      ProcPLYS.Params[0].AsString :=ysn+ysy ;
      ProcPLYS.Params[1].AsString :=ysns+ysys ;
      ProcPLYS.ExecProc ;
      

  2.   

    我不用
    proc组件,编程不方便!必须是query或是三层结构所用的ClientDataSet1.commandtext:='sql';
    sql为拼写的字符串格式!
      

  3.   

    SQL*PLUS 中调用ORacle的存储过程,
     sql>declare
     sql>   str varchar2(20);
     sql>begin
          str := pkg_test.get('aa',ff) ;
     sql>end;
    以及在delphi的调用!!
    用这个StoredProc控件调用。     
      

  4.   

    6  /
          str := pkg_test.get('aa',ff) ;
                                   *
    ERROR 位于第 4 行:
    ORA-06550: 第 4 行, 第 32 列:
    PLS-00201: 必须说明标识符 'FF'
    ORA-06550: 第 4 行, 第 7 列:
    PL/SQL: Statement ignoredFF应该定义为什么类型?如何写定义语句?
    在DELPHI中我不用proc组件,编程不方便!必须是query或是三层结构所用的ClientDataSet1.commandtext:='sql';
    sql为拼写的字符串格式!
      

  5.   

    对于delphi,在TQuery的SQL里面写
    EXEC 存储过程名(参数)
    就可以了
      

  6.   

    SQL> select * from aa;        ID NAME 
    ---------- -------- 
            1 猪八戒 
            2 孙悟空 
    CREATE OR REPLACE PACKAGE pkg_test 
    AS 
    TYPE myrctype IS REF CURSOR; 
    END pkg_test; 
    / create or replace PROCEDURE get(p_rc OUT pkg_test.myrctype) 
      IS 
         sqlstr   VARCHAR2 (50); 
      BEGIN 
         sqlstr:='select * from aa'; 
         OPEN p_rc FOR sqlstr; 
    END get; 
    / 在delphi中:
    在窗体上放一个ADOStoredproc 
    设置 procedurename=get 
        prepared = true 
        active = true 
    还有 connectstring 
    代码如下,好运! procedure TForm1.Button1Click(Sender: TObject); 
    begin 
    adostoredproc1.close; 
    adostoredproc1.open; 
    label1.caption:= ADOStoredProc1.fields[1].asstring; 
    while not adostoredproc1.eof do 
       begin 
         label2.caption:= ADOStoredProc1.fields[1].asstring; 
         adostoredproc1.Next; 
       end; 
    end; 
      

  7.   

    不用proc组件!
    query或是三层结构所用的ClientDataSet1.commandtext:='sql';
    sql为拼写的字符串格式!
    那位高手知道????????
      

  8.   

    adoquery1.close;
    adoquery1.sql.clear;
    adoquery1.sql.add('select * from get()');
    adoquery1.open;
      

  9.   

    beckhambobo(beckham) error 报的什么命令未结束...还是不对