delphi 如何将记录表作为参数传递给Oracle存储过程

brccelvz  于 7个月前  发布在  Oracle
关注(0)|答案(1)|浏览(60)

我有一个oracle存储过程,它接受一个记录表作为其输入参数:

TYPE JREC is record
(
CUSTOMERID COMPANYS.COMPANYID%TYPE ,
JOBID JOBS.JOBID%TYPE,    
-----   
);

TYPE TJOBLIST IS TABLE OF JREC  INDEX BY BINARY_INTEGER;    

PROCEDURE UPDATEJOBS(JRECS IN TJOBLIST )
IS
 BEGIN
     FOR i IN JRECS .FIRST .. JRECS .LAST LOOP
-----PROCEDURE BODY---

字符串
请告诉我如何从 Delphi 调用这个程序。我使用的是RAD Studio 2007

xu3bshqb

xu3bshqb1#

你可以调用这个例子:

DECLARE
  L_TABLE TJOBLIST ;
  NCOUNT PLS_INTEGER;
BEGIN

  L_TABLE := TJOBLIST(); --Create table
  L_TABLE.extend; --Add an element
  NCOUNT := L_TABLE.COUNT();
  L_TABLE(NCOUNT).CUSTOMERID := 1;
  L_TABLE(NCOUNT).JOBID := 10;
  L_TABLE.extend; --Add another element
  NCOUNT := L_TABLE.COUNT();
  L_TABLE(NCOUNT).CUSTOMERID := 2;
  L_TABLE(NCOUNT).JOBID := 20;
  L_TABLE.extend; --Add another element
  NCOUNT := L_TABLE.COUNT();
  L_TABLE(NCOUNT).CUSTOMERID := 3;
  L_TABLE(NCOUNT).JOBID  := 30;
  --.. and so on

  --Call the procedure and pass the table as a parameter
  UPDATEJOBS(L_TABLE);
END;

字符串

相关问题