У меня есть следующая процедура для вставки пользователя в базу данных. Я использую 4 параметра in-parameters и 1 out-parameter. Исходный параметр заполняется последовательностью. Структура таблицы - это user_id и имена 4 первых параметров.PLS-00306: неправильное количество или типы аргументов при вызове
CREATE OR REPLACE PROCEDURE insert_user
(
P_USERNAME IN varchar2,
P_PASSWORD IN varchar2,
P_COMPANY_EMAIL IN varchar2,
P_EMPLOYEE_ID IN number,
P_USER_ID OUT int)
AS
BEGIN
INSERT INTO system_users.users(USERNAME, PASSWORD, COMPANY_EMAIL, EMP_ID)
VALUES
(P_USERNAME, P_PASSWORD, P_COMPANY_EMAIL, P_EMPLOYEE_ID);
dbms_output.put_line (P_USER_ID);
END;
Я получаю ошибку, что у меня есть неправильное число или типы аргументов при вызове процедуры. Я назвал это так:
insert_user('user', 'password', '[email protected]', '5');
Я попытался назвать его с началом и концом вокруг него, я попытался число без кавычек, все wiithout кавычки.
Что я делаю неправильно? Может ли это иметь какое-то отношение к триггеру, не заполняющему user_id?
С уважением,
Винсент
EDIT: JIC это триггер, вот код триггера. Это сработало, но я заметил, что в коде был провал, поэтому я его отредактировал. FSR говорит, что таблица, которую я пытаюсь найти (system_users.users) не существует (недопустимый идентификатор)
ПОЖАЛУЙСТА, ПОЖАЛУЙСТА, помогите мне!
create or replace trigger user_trig_bi
Before insert on system_users.users
for each row
begin
select user_seq.nextval
into new.user_ID
From dual
where exists (SELECT emp_id
from hrm_repo.employees
where hrm_repo.employees.emp_id = system_users.users.emp_id);
END;
Ошибка я получаю: Error (7,55): PL/SQL: ORA-00904: "SYSTEM_USERS" "юзеры" "emp_id".:. Недопустимый идентификатор
прямо на месте. – Rahul
Спасибо за ваш ответ! Это сработало, или это сработало бы, если бы мой триггер был прав. Не могли бы вы помочь мне с ошибкой в моем триггере, чтобы заполнить p_user_id? –
Я все равно могу помочь мне с помощью спускового крючка? Заранее спасибо! Тем временем я решил вырезать часть, где я проверяю, существует ли emp_id в другой таблице, и говорит, что должен быть определен new.user_id. –