Создание процедуры, которая вставляет в 2 таблицы с отношением - PullRequest
0 голосов
/ 06 января 2020

Я понимаю, что есть много вопросов, подобных этому, но, поскольку это касается моего школьного проекта, он должен следовать тем же методам, которым нас научили, а другие ответы не совсем то, что я ищу.

Мой код:

CREATE or REPLACE PROCEDURE add_hire1 (hire_no_in IN NUMBER, date_hired_in IN DATE, drop_off_in IN DATE, fk1_customer_id_in IN NUMBER, fk2_charge_no_in IN NUMBER,
charge_no_in, final_cost_in)
AS
BEGIN
 INSERT INTO hire(hire_no, date_hired, drop_off, fk1_customer_id, fk2_charge_no)
VALUES (hire_no_in, date_hired_in, drop_off_in, fk1_customer_id_in, fk2_charge_no_in);

 INSERT INTO charge(charge_no, final_cost)
 VALUES(charge_no_in, final_cost_in);
END add_hire1;

Это возвращенная ошибка:

ORA-24344: success with compilation error 
ORA-06512: at "SYS.WWV_DBMS_SQL_APEX_190100", line 590 
ORA-06512: at "SYS.DBMS_SYS_SQL", line 1658 
ORA-06512: at "SYS.WWV_DBMS_SQL_APEX_190100", line 576
ORA-06512: at "APEX_190100.WWV_FLOW_DYNAMIC_EXEC", line 2033

Как нас только что научили делать это с одной только что добавленной таблицей вторая таблица в том же формате, что и исходный код, поэтому я не уверен, что она правильная или есть только несколько небольших ошибок. Любая помощь приветствуется, спасибо.

1 Ответ

2 голосов
/ 06 января 2020

ORA-24344 означает ошибки компиляции . Если вы используете такой инструмент, как SQL Developer, он должен показать вам ошибки компиляции. Но вы всегда можете найти их для себя так:

select * from user_errors
where name = 'ADD_HIRE1'

Если у нас был пакет, который скомпилирован, то мы изменили его, а теперь он не компилируется, мы знаем, что нам нужно сосредоточиться на внесенных изменениях. В этом случае мы можем видеть, что два добавленных вами параметра ...

,
charge_no_in, final_cost_in)
AS

... не объявляются так же, как и другие параметры:

, fk1_customer_id_in IN NUMBER, fk2_charge_no_in IN NUMBER

Эта разница большая подсказка о том, как вам нужно исправить свой код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...