다른 환경에있는 테이블의 데이터를 테이블에 삽입해야합니다. env 목록은 my_env 테이블에서 가져옵니다. 내 경우를 들어 envs의 수는 그래서 ENV 이름을 동적 그러므로 내가 아래로 쓴 것이 다를 수 있습니다PLSQL : to_able 이름을 동적으로 유지하면서 다른 환경으로 한 테이블의 데이터를 삽입 할 수 있습니다.
DECLARE
WRK_STS VARCHAR2(2) := 'PP';
MY_ENV VARCHAR2(50) := '';
WRK_ENV NUMBER(6) := 0;
BEGIN
FOR t in (SELECT DISTINCT(envid) FROM MY_ENV ORDER BY ENVID ASC)
LOOP
WRK_ENV := WRK_ENV+1;
MY_ENV := 'ENV_' || t.envid || '.table002';
INSERT INTO MYTAB101(DATE,STS, MYENV, nAME, DESCR, MYTYPE)
SELECT null, ' || WRK_STS|| ',' || WRK_ENV || ',NAME, DESCR,MYTYPE from ' || MY_ENV;
END LOOP;
EXCEPTION
/*Handle exception*/
END;
/
COMMIT;
그러나 나는 점점 오전 오류 :
ORA-06550 : 줄 15, 열 61 : PL/SQL : ORA-00942 : 테이블 또는 뷰가 존재하지 않습니다. ORA-06550 : 12 행 3 열 : PL/SQL : SQL 문이 무시되었습니다. 06550. 00000 - "행 % s, 열 % s : \ n % s"* 원인 : 보통 PL/SQL 컴파일 오류. * 액션 : 커밋.
내가 직접 같이 작동 ENV 이름을 입력하면 '에서를 ENV368.table002'
누군가가 여기에 무엇이 잘못되었는지를 제안 할 수 있습니다?
감사합니다 !!! 그것이 있어야 난 당신의 사건에 대한 생각
MY_ENV := 'ENV_' || t.envid || '.table002';
:
. EXECUTE IMMEDIATE – OldProgrammer
즉각적인 시도 : EXTERNAL IN MYTAB101 (날짜, STS, MYENV, 이름, DESCR, MYTYPE) SELECT NULL, '|| WRK_STS || ','|| WRK_ENV || ', NAME, DESCR, MYTYPE에서'|| MY_ENV; 하지만이 또한 오류가 있습니다 – Mishti
그럼 오류가 무엇입니까 ?? – OldProgrammer