다음 절차에 따라 사용자를 데이터베이스에 삽입 할 수 있습니다. 나는 4 개의 매개 변수와 1 개의 매개 변수를 사용합니다. out 매개 변수는 시퀀스로 채워집니다. 테이블 구조는 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를 채우지 않는 트리거와 관련이 있습니까?
감사합니다,
빈센트
편집 : 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;
내가 오류는 다음과 같습니다 오류 (7,55) : PL/SQL : ORA-00904 : "SYSTEM_USERS" "USERS" "EMP_ID".. 잘못된 식별자
바로 그 자리에 있습니다. – Rahul
빠른 응답을 보내 주셔서 감사합니다! 그것은 효과가 있었고, 방아쇠가 맞으면 효과가있었습니다. p_user_id를 채우기 위해 내 방아쇠에서 실수로 나를 도울 수 있습니까? –
그래도 내 방아쇠를 당겨 도울 수 있겠 니? 미리 감사드립니다! 그 동안 나는 emp_id가 다른 테이블에 존재하는지 확인하는 부분을 잘라내어 new.user_id를 정의해야한다고 말했습니다. –