Я знаю, что мне не нужно использовать SQL, но у меня есть другой код между объявлением begin и end. Я просто извлек эту часть, и все работает, кроме этого. Я получаю следующее сообщение об ошибке:SQL не правильно закончился?
Error report:
ORA-06550: line 5, column 5:
PL/SQL: ORA-00933: SQL command not properly ended
ORA-06550: line 3, column 5:
PL/SQL: SQL Statement ignored
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:
Это код:
DECLARE
BEGIN
UPDATE octombrie
SET nr_imprumut = I.nr
from (select book_date bd,count(book_date) nr
from rental
where to_char(book_date,'mm') like '10'
group by book_date) I
where data = I.bd;
END;
/
Я не понимаю, что я сделал не так?
EDIT: book_date даст мне день с октября. В этот день сдаются несколько книг, поэтому я узнаю, сколько книг, которые я снимал, подсчитывая количество раз в то же время (арендованные книги находятся в арендной таблице). Затем я беру эти данные и обновляю таблицу в октябре (я ставлю количество книг aka 'nr', где дата в октябрьской таблице соответствует дате, в которой книги, которые были арендованы);
потому что дни уже существуют в octombrie, но количество арендованных книг равно 0, поэтому я обновляю те столбцы, которые мне плохо говорят о вставке вместо обновления. –
'from' не является законным в инструкции' update'. Пожалуйста, ознакомьтесь с руководством по эксплуатации: http://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_10008.htm#SQLRF01708 –
О, подумал, но потом я увидел парня, у которого был, и я был похож, ничего себе! –