CREATE OR REPLACE PROCEDURE p_ch(v_Move_ID IN VARCHAR2) IS
  v_id integer;
BEGIN
   v_id:=get_s_seq('p_send_bill');
    insert into p_send_bill(s_Ticket_id,s_bill_id,s_bill_no)
        select Ticket_id,v_id,v_id
         from P_TASK_TICKET
         where Move_ID = v_Move_ID;  insert into p_send_dtl(s_Ticket_id,sd_bill_id,sd_goods_id)
        select Ticket_id,v_id,T_GOODS_ID
          from p_ticket_goods
          where ticket_id in (select ticket_id from P_TASK_TICKET where Move_ID = v_Move_ID);END p_ch;
/以上是存储过程,现在就是需要给我段在delphi中执行的这个存储过程的代码

解决方案 »

  1.   

    用存储过程组件,
    把v_Move_ID的存储过程参数
    设长度,把value设为null
      

  2.   

    用adostoredproc组件
    按照属性连接就可以了
      

  3.   

    这是一个动态调用
        spPSIS.Parameters.Clear;
        spPSIS.ProcedureName := 'USP_AFFUSIONDAY';
        spPSIS.Parameters.CreateParameter('Day', ftString, pdInput, 10, dtDay);
        spPSIS.ExecProc;
      

  4.   

    call 存储过程名字
    或者
    begin
      存储过程名字
    end;
      

  5.   

    运行错误,说数据类型有问题,delphi中什么类型和数据库中varchar2可以对应?
      

  6.   

    存储过程没错,我在oracle调试运行通过了。
    就是现在delphi调用出现问题