새 열 TEMPLATE
을 생성하고 일부 기본 값으로 채워야하는 다음 Oracle SQL 스크립트를 실행하려고하는데 오류가 발생합니다. 10 행, 열 37 :
PL/SQL: ORA-00904: "TEMPLATE": invalid identifier
간단한 스크립트를 실행하려고 할 때 SQL이 유효하지 않습니다.
수동으로 문을 실행하려고, 모든 것
DECLARE v_cnt INT;
BEGIN
select count(*) into v_cnt
from user_tab_columns
where upper(table_name) = upper('myTable') and upper(column_name) = upper('template');
IF(v_cnt = 0) THEN
EXECUTE IMMEDIATE 'ALTER TABLE MYTABLE ADD TEMPLATE NVARCHAR2(255)';
UPDATE MYTABLE
SET TEMPLATE = 'BASE VALUE';
END IF;
END;/
내가지고있어 오류가
ORA-06550이다 잘 작동하고 있습니다. 문제는
EXECUTE IMMEDIATE
부분과 관련이 있으며 익숙하지 않습니다. 예비 검색 후에 나는이 진술이 비동기 적이거나 그와 같은 것임을 결정할 수 없으므로 이론적으로 거기에 오류가 없어야합니다.
이 경우인지 확실하지 않습니다. 아래에서 언급했듯이 모든 변경 작업을 완료했습니다. – Kon
예, 변경 한 MYTABLE SET TEMPLATE = 'BASE VALUE'; 라인을 주석 처리했습니다. 나는 당신의 해결책에 동의합니다. –
키워드 목록은 RDBMS가 아닌 Hyperion 용입니다. TEMPLATE는 [11gR2 목록]에 없습니다 (http://docs.oracle.com/cd/E18283_01/appdev.112/e10830/appb.htm). (MySQL 문서에 연결하는 사람이 * 8-로 바뀌 었음). –