0
Ich bin neu in SQL. Ich habe eine Prozedur geschrieben, um Daten in db zu speichern. Und von SQL versuche ich, diese Prozedur aufzurufen, um Daten zu speichern. Aber SQL-Fehler erhalten>ORA-00900: invalid SQL statement
. Kann mir bitte jemand mit diesem Fehler helfen? Hier ist mein Versuch:Fehler in Orakel einfügen Anweisung
Mein Verfahren >>>
PROCEDURE NEW_USER
(
IN_CREATED_BY IN VARCHAR2,
IN_MODIFIED_BY IN VARCHAR2,
IN_USERNAME IN VARCHAR2
)
AS
L_USER_ID INTEGER;
N_USER_ID INTEGER := hibernate_sequence.NEXTVAL;
BEGIN
SELECT case
when exists(SELECT USER_ID FROM T_MT_USER WHERE USERNAME = IN_USERNAME)
then
(SELECT USER_ID FROM T_MT_USER WHERE USERNAME = IN_USERNAME)
else 0
end into L_USER_ID
FROM dual;
IF (L_USER_ID = 0) THEN
INSERT INTO T_MT_USER
(USER_ID, ACCOUNT_EXPIRED_FLG, ACCOUNT_LOCKED_FLG, created_by, CREATED_TS, ACTIVE_FLG, end_effective_dt, modified_by, MODIFIED_TS, "password", password_expired, start_effective_dt, username)
VALUES
(N_USER_ID, 0, 0, IN_CREATED_BY, SYSTIMESTAMP, 1, NULL, IN_MODIFIED_BY, SYSTIMESTAMP, '$2a$10$3hoAeeVJ0AG.CQS2xX8rT.wUlt1rjoiYsHW0YflZEiQ5QYzG4HpYi', 0, SYSTIMESTAMP, IN_USERNAME);
END IF;
EXCEPTION
WHEN OTHERS THEN
log_api.fatal(log_ctx,'Exception in NEW_USER');
RAISE;
END NEW_USER;
Und mein Ruf in SQL >>
USER_DEMO.NEW_USER('sbappi','sbappi','sumon5');
Was gibt Ihnen hibernate_sequence.NEXTVAL oder was ist das? Ist es eine Oracle-Sequenz? Oder das gleiche Hibernate-Personal? –
dies ist für id. Es erhält die ID für die Zeile –
Welches Werkzeug verwenden Sie, um die Prozedur aufzurufen? 'sqlplus' benötigt ein' execute', um eine gespeicherte Prozedur auszuführen: 'execute USER_DEMO.NEW_USER ('sbappi', 'sbappi', 'sumon5');' –