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;