저장 프로시저에서 merge문에 dblink 테이블 입력시 ora-00942 테이블또는 뷰가 존재하지 않습니다 오류 질문드립니다. 0 3 1,754

by 파갈제잉 [2018.12.13 18:57:32]


create or replace PROCEDURE "PRC_UPD_STG_MEM_MEMBER"

IS

BEGIN
    
    MERGE INTO STG_MEM_MEMBER T
    USING(
            SELECT 
                 "id"       AS ID
                ,"email"    AS EMAIL
                ,"hp1"      AS HP1
                ,"hp2"      AS HP2
                ,"hp3"      AS HP3
                ,TRIM("emailyn")  AS EMAILYN
                ,TRIM("smsyn")    AS SMSYN
            FROM member@WEB 
            WHERE 1=1
              AND "id" IN (
                            SELECT ID FROM TT_MEMBER
                           )
        ) S
    ON ( T.ID = S.ID)
    WHEN MATCHED THEN 

        UPDATE SET 
                 T.EMAIL = S.EMAIL
                ,T.HP1 = S.HP1
                ,T.HP2 = S.HP2
                ,T.HP3 = S.HP3
                ,T.EMAILYN = S.EMAILYN
                ,T.SMSYN = S.SMSYN
        
    ;
 
 
    COMMIT;
 
 
    
END;

프로시저 생성시

ORA-06550: PROCEDURE, line 16, column 18: PL/SQL: ORA-00942: 테이블 또는 뷰가 존재하지 않습니다

라는 오류가 발생하는데 혹시 해결할 수 있는 방법이 있을까요???

혹시나해서 member@WEB를  "member"@WEB로 쌍따옴표 붙여서 생성하면

ORA-28500: Oracle 이외 시스템으로 ORACLE을 접속하는데 이 메시지가 리턴되었습니다 [MySQL][ODBC 5.3(w) Driver]Commands out of sync; you can't run this command now {HY000,NativeErr = 2014} ORA-02063: 2 lines가 선행됨 (WEB로 부터)

ORA-06550: PROCEDURE, line 16, column 18: PL/SQL: ORA-00942: 테이블 또는 뷰가 존재하지 않습니다

2개의 오류 메시지가 뜹니다.

해결방법이 있을까요???ㅠ

 

by 신이만든지기 [2018.12.13 19:10:38]

테이블 소유자를 명시해 보세요.

owner.member@WEB


by 파갈제잉 [2018.12.13 19:44:31]

소유자 명시해도 안되네요.ㅠㅠ


by 마농 [2018.12.14 09:05:34]

Select 문만 따로 떼어 실행해 보세요.
테이블명 및 컬럼명 대소문자 정확하게 확인해 보세요.
"MEMBER", "Member", "member"

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입