title: PLS-00306: wrong number or types of arguments in call
body: <p>I've got the following procedure to insert a user into a database. I use 4 in-parameters and 1 out-parameter. The out-parameter is filled with a sequence. 
  The table structure is a user_id and the names of the 4 first parameters.</p>
  
  <pre><code>    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;
  </code></pre>
  
  <p>I get the error that I have the wrong number or types of arguments when I call the procedure. I called it like so:</p>
  
  <pre><code>insert_user('user', 'password', 'mail@mail.com', '5');
  </code></pre>
  
  <p>I have tried calling it with begin and end around it, I have tried the number without quotes, all wiithout quotes.</p>
  
  <p>What am I doing wrong? Can it have something to do with the trigger not filling the user_id?</p>
  
  <p>Regards,</p>
  
  <p>Vincent</p>
  
  <p>EDIT: JIC it is the trigger, here is the code for the trigger. It worked, but I saw a snag in the code so I edited it. FSR it says that the table I am trying to find (system_users.users) does not exist (invalid identfier)</p>
  
  <p>PLEASE PLEASE help me!</p>
  
  <pre><code>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;
  </code></pre>
  
  <p>The error I get is:
  Error(7,55): PL/SQL: ORA-00904: "SYSTEM_USERS"."USERS"."EMP_ID": invalid identifier</p>