У меня есть создать следующие таблицы и типы ....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 без каких-либо параметров, которые:
Считывает ВСЕ ACTORID из таблицы ACTOR и вводит их в атрибут ACTORID для каждой строки таблицы ACTOR_QUOTES (таблицы имеют одинаковую мощность) и одновременно вводит следующие начальные значения в первую строку только из ЦИТАТЫ вложенной таблицы в каждую строку таблицы ACTOR_QUOTES;
(MOVIE_TITLE, год, роль, Quote) устанавливаются соответственно (' ' NULL,'', ' «)
Также и в то же время, сразу после каждого использования INSERT DELETE, чтобы удалить все строки из вложенной таблицы в каждой строке, принадлежащей каждому ACTORID в таблице ACTOR_QUOTES.
Я получаю ошибку компиляции с кодом ....
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'' - строка с четырьмя символами; «NULL» - это особое значение, означающее примерно «неизвестный» или «неопределенный». В Oracle (хотя и не в других СУБД), '' '' совпадает с 'NULL'. – ruakh
Предупреждение. Процедура, созданная с ошибками компиляции. SQL> показать ошибки; Ошибки для PROCEDURE INIT_ACTOR_QUOTES: LINE/COL ERROR 7/2 PL/SQL: SQL заявление игнорировали 7/9 PL/SQL: ORA-00925: отсутствует ключевое слово INTO 9/2 PL/SQL: SQL Statement игнорировали 9/10 PL/SQL: ORA-00928: отсутствует ключевое слово SELECT SQL> – user1055487