.... 내가를 만들 필요가sql oracle. 절차 커서 매개 변수없이 나는 다음과 같은 테이블과 유형을 만들 수 있습니다
CREATE TYPE ACTOR_QUOTE_TYPE AS OBJECT (
Movie_Title CHAR(36),
Year NUMBER,
Role CHAR(36),
Quote CHAR(255)
)
/
CREATE TYPE AQ_NT AS TABLE OF ACTOR_QUOTE_TYPE
/
CREATE TABLE ACTOR_QUOTES (
ACTORID CHAR(5),
QUOTES AQ_NT
) NESTED TABLE QUOTES STORE AS ACTOR_QUOTES_NT
/
.....
PL/SQL 프로 시저 호출 INIT_ACTOR_QUOTES 루프가 :
ACTOR 테이블에서 모든 ACTORID를 읽고 ACTOR_QUOTES 테이블 (테이블의 카디널리티가 동일 함)의 각 행에 대한 ACTORID 특성에 INSERT하고 동시에 다음 초기 값을 해당 테이블의 첫 번째 행에만 INSERT합니다. ACTOR_QUOTES 테이블의 각 행에 중첩 테이블을 QUOTES합니다.
(MOVIE_TITLE, 연도, 역할, 견적)는 즉시 각 INSERT 사용 후 모든 행을 삭제합니다 ('', NULL, '', '') 또한
과 동시에 각각 설정 ACTOR_QUOTES 테이블의 각 ACTORID에 속하는 각 행의 중첩 테이블에서. 나는이 코드를 컴파일 오류를 받고 있어요
....
CREATE OR REPLACE PROCEDURE INIT_ACTOR_QUOTES
AS
CURSOR actorID_cursor IS
SELECT actorID FROM Actor;
BEGIN
FOR row IN actorID_cursor LOOP
INSERT actorID INTO ACTOR_QUOTES;
INSERT INTO actor_Quotes_NT VALUES ('', NULL, ' ', '');
DELETE (*) FROM actor_Quotes_NT ('', NULL, ' ', '');
END LOOP;
END INIT_ACTOR_QUOTES ;
/
Warning: Procedure created with compilation errors.
SQL> show errors;
Errors for PROCEDURE INIT_ACTOR_QUOTES:
LINE/COL ERROR
-------- -----------------------------------------------------------------
7/2 PL/SQL: SQL Statement ignored
7/9 PL/SQL: ORA-00925: missing INTO keyword
9/2 PL/SQL: SQL Statement ignored
9/10 PL/SQL: ORA-00928: missing SELECT keyword
SQL>
모든 제발 도와주세요 ....
"컴파일 오류로 생성 된 프로 시저"메시지를 받으면'SHOW ERRORS; '(또는 단지'SHO ERR')를 입력하여 오류를 볼 수 있습니다. 사실, 모든 SQL 작성 프로 시저 스크립트에는 끝에 'SHOW ERRORS;'가 포함되어 있습니다. 오류가 있으면 확실히보고 싶을 것이고, 없으면 'SHOW ERRORS;'를 그냥 인쇄하면됩니다. "오류 없음." – ruakh
한편 'NULL'은 'NULL'과 같지 않습니다. ''NULL ''은 4 개의 문자가있는 문자열입니다. 'NULL'은 대략 "unknown"또는 "indeterminate"를 의미하는 특별한 값입니다. 오라클 (다른 DBMS에서는 그렇지 않지만)에서 '' '는'NULL '과 동일합니다. – ruakh
경고 : 컴파일 오류로 인해 생성 된 프로 시저. SQL> 오류 표시; 절차의 INIT_ACTOR_QUOTES에 대한 오류 : LINE/COL 오류 7/2 PL/SQL : SQL 문 무시 7/9 PL/SQL : ORA-00925 : 키워드 INTO없는 9/2 PL/SQL : SQL 문을 무시 9/10 PL/SQL : ORA-00928 : SELECT 키워드가 누락되었습니다 SQL> – user1055487