wszystko.
Próbowałem już stworzyć procedurę w Oracle Apex 5. Jednak pojawia się ten problem "ORA-24344: sukces z błędem kompilacji". Zakładam, że jest to błąd składni. Jak myślisz, co to jest? * Generate_password to działająca funkcja, która wytwarza losową wartość / ciąg heksadecymalny.
CREATE OR REPLACE PROCEDURE add_user (firstname in varchar2(20), lastname in varchar2(20), email in varchar2(100), area in varchar2(50), privileges in varchar2(2))
AS
e varchar2(100);
BEGIN
e := generate_password;
insert into user_login (user_name, first_name, last_name, creation_date, last_update_date, user_privileges, user_pwd)
values ( email, firstname, lastname, SYSDATE, SYSDATE, privileges , e);
END add_user;
Odpowiedzi:
2 dla odpowiedzi № 1Nie określaj długości parametrów varchar2 procedury, po prostu napisz VARCHAR2 bez rozmiaru.
To jest składnia PL / SQL. Jeśli się nad tym zastanowić, ma to więcej sensu niż definiowanie długości bufora, który i tak odziedziczył po kodzie wywołującym.
0 dla odpowiedzi nr 2
Próbujesz ustawić maksymalną długość dla parametrów wejściowych varchar2 - nie jest to poprawna składnia.
Próbować:
CREATE OR REPLACE PROCEDURE add_user (firstname in varchar2, lastname in varchar2, email in varchar2, area in varchar2, privileges in varchar2)
0 dla odpowiedzi № 3
Dude, Powinieneś jeszcze raz przeczytać dokumentację PLSQL.
- Nie potrzebujesz określonej długości parametrów w procedurze przechowywanej.
- Firma Oracle zaleca używanie parametrów referencyjnych w podprogramach, takich jak "p_empid employees.employee_id% TYPE".