... 작업으로 인해 패키지에 쓴 SQL 스크립트를 래핑해야합니다.Oracle 패키지 본문 컴파일 오류 : SQL 문 무시되거나 테이블 또는 뷰가 존재하지 않습니다.
정말 PL/SQL에서 분실, 내가 잘못 아무 생각 안하는거야 무슨 :
END LOG_ARCHIVE;
END F_LOG_ARCHIVE_PKG;
오류가 반환
CREATE OR REPLACE PACKAGE F_LOG_ARCHIVE_PKG AS
PROCEDURE LOG_ARCHIVE;
END F_LOG_ARCHIVE_PKG;
/************************ F_BUSINESS_IDENTIFIER ********************************/
/
CREATE OR REPLACE PACKAGE BODY F_LOG_ARCHIVE_PKG AS
PROCEDURE LOG_ARCHIVE IS
BEGIN
INSERT INTO LOGARC.F_BUSINESS_IDENTIFIER ("ID",
"SERVICE_ID",
"OPERATION_ID",
"BUSINESS_IDENTIFIER_NAME",
"BUSINESS_IDENTIFIER_VALUE",
"EXCEPTION_ROW_ID",
"ARCHIVE_DATE")
SELECT DISTINCT ORIGINAL."ID",
ORIGINAL.SERVICE_ID,
ORIGINAL.OPERATION_ID,
ORIGINAL.BUSINESS_IDENTIFIER_NAME,
ORIGINAL.BUSINESS_IDENTIFIER_VALUE,
ORIGINAL.EXCEPTION_ROW_ID,
sysdate
FROM LOGUSR.F_BUSINESS_IDENTIFIER ORIGINAL
--Latest exception date based on service id and operation id
INNER JOIN (SELECT F_EXCEPTION.SERVICE_ID,
F_SERVICE_OPERATION_NAME.ID AS OPERATION_ID,
MAX(RECORD_CREATED_DATE) AS RECORD_CREATED_DATE,
MAX(EXCEPTION_DATE) AS EXCEPTION_DATE
FROM LOGUSR.F_EXCEPTION
INNER JOIN LOGUSR.F_SERVICE_OPERATION_NAME
ON F_EXCEPTION.OPERATION_NAME = F_SERVICE_OPERATION_NAME.OPERATION_NAME
GROUP BY F_EXCEPTION.SERVICE_ID,F_SERVICE_OPERATION_NAME.ID) EXCEPTION_DATE
ON ORIGINAL.SERVICE_ID = EXCEPTION_DATE.SERVICE_ID
AND ORIGINAL.OPERATION_ID = EXCEPTION_DATE.OPERATION_ID
--Service name to join to F_SERVICE_LOGSTATUS table
INNER JOIN LOGUSR.F_SERVICE_NAME
ON ORIGINAL.SERVICE_ID = F_SERVICE_NAME.ID
--Operation name to join to F_SERVICE_LOGSTATUS table
INNER JOIN LOGUSR.F_SERVICE_OPERATION_NAME
ON ORIGINAL.OPERATION_ID = F_SERVICE_OPERATION_NAME.ID
--Archive strategy
INNER JOIN LOGUSR.F_SERVICE_LOGSTATUS
ON F_SERVICE_NAME.SERVICE_NAME = F_SERVICE_LOGSTATUS.SERVICE_NAME
AND F_SERVICE_OPERATION_NAME.OPERATION_NAME = F_SERVICE_LOGSTATUS.OPERATION_NAME
WHERE F_SERVICE_LOGSTATUS.ARCHIVE_FLAG = 'Y'
AND F_SERVICE_LOGSTATUS.ARCHIVE_DAYS <= (sysdate-EXCEPTION_DATE.EXCEPTION_DATE);
SNIP :
오류 (4, PL/SQL : ORA-00942 : 테이블 또는 뷰가 존재하지 않습니다.
DBA는 사용자에게 두 스키마 모두에 대한 쓰기 권한을 부여하기 위해 최근에 역할로 업데이트했습니다.
패키지 소유자가 LOGUSR과 다른가요? 그렇다면 패키지 소유자가 LOGUSR의 테이블에 대한 권한을 ** 역할 **을 통해 ** 직접 부여 할 수 있습니까? 그렇지 않은 경우 문제 일 수 있습니다. – mathguy
감사합니다. mathguy 님, 문제가있는 것 같습니다. –