Q&A

  • 델파이에서 프로시저 호출
CREATE OR REPLACE PROCEDURE BATCH_SELECT(TEC IN OUT BATCH_PACKAGE.RC, SELECTNAME VARCHAR2) IS

BEGIN

IF SELECTNAME = 'SCDR_SELECT' THEN

BATCH_PACKAGE.SCDR_SELECT(TEC);

END IF;

IF SELECTNAME = 'STATUS_SELECT' THEN

BATCH_PACKAGE.STATUS_SELECT(TEC);

END IF;

IF SELECTNAME = 'QINFO_SELECT' THEN

BATCH_PACKAGE.QINFO_SELECT(TEC);

END IF;

IF SELECTNAME = 'STATUS_BATCH_DELETE' THEN

BATCH_PACKAGE.STATUS_BATCH_DELETE;

END IF;

END BATCH_SELECT;

/



위는 오라클 프로시저 선언 부분입니다

델파이에서 쓸때 4번에서 5번 호출하여 쓰려고 합니다.

근데 처음 호출시에는 에러가 안 나는데

두번째 호출시에 에러가 납니다

아무래도 왜인지 델파이상에서 코딩을 잘못한거 같은데 갈켜주세요



델파이 코딩 부분

With frmCallBatch_Run.Proc do begin

Close;

Params[1].AsString := 'STATUS_SELECT';

Prepare;

Open;



While Not Eof do begin

GetResults;



P_AgentDBID := Fields[1].AsString;

P_Status := Fields[3].AsString;

P_StartTime := Fields[4].AsString;

P_Duration := Fields[5].AsString;

P_ConnID := Fields[7].AsString;



// UTC Time 계산

UTCTime := UTC_Time(P_StartTime);



S_Date := Copy(UTCTime, 1, 8);

S_Time := Copy(UTCTime, 9, 6);



Status_Insert_Flag := Status_Select_Insert(P_AgentDBID, P_Status,

P_Duration, S_Date, S_Time, P_ConnID);



Next;



end;





0  COMMENTS