Reputation: 13
What is wrong with my PLSQL?
CREATE OR REPLACE PROCEDURE REGISTRO_CLIENTE_TARJETA(
v_nombre IN VARCHAR2,
v_ap_paterno IN VARCHAR2,
v_ap_paterno IN VARCHAR2,
v_rfc IN VARCHAR2,
v_email IN VARCHAR2,
v_direccion IN VARCHAR2,
v_numero IN VARCHAR2,
v_num_seg IN VARCHAR2,
v_mes_exp IN VARCHAR2,
v_anio_expiracion IN VARCHAR2)
AS
BEGIN
INSERT INTO TARJETA_DE_CREDITO(TARJETA_ID, NUMERO, NUM_SEGURIDAD, MES_EXPIRACION, ANIO_EXPIRACION)
VALUES(TARJETA_CREDITO_SEQ.NEXTVAL, v_numero, v_num_seg, v_mes_exp, v_anio_expiracion)
INSERT INTO CLIENTE(CLIENTE_ID,NOMBRE, AP_PATERNO, AP_MATERNO, RFC, EMAIL, DIRECCION, TARJETA_ID)
VALUES(CLIENTE_SEQ.NEXTVAL, v_nombre, v_ap_paterno, v_ap_paterno, v_rfc, v_email, v_direccion, (SELECT LAST_NUMBER FROM ALL_SEQUENCES WHERE SEQUENCE_NAME = 'TERCERO_SEQ'))
END;
I'm getting the following errors using the show errors command:
LINE/COL ERROR
-------- -----------------------------------------------------------------
14/1 PL/SQL: SQL Statement ignored
15/88 PL/SQL: ORA-00933: SQL command not properly ended
19/3 PLS-00103: Encountered the symbol "end-of-file" when expecting
one of the following:
:= . ( @ % ;
Upvotes: 0
Views: 14011
Reputation: 49062
The INSERT
statements must end with a semi-colon
.
insert into table (columns list) values (values list);
As a good practice, always compile your code in SQL*Plus
and do SHOW ERROR
. Look at the line number
in the error stack
. Without any EXCEPTION
block (or with proper exception handling), you would get the correct line number. Try to debug
your code by going to the line number and verify.
Upvotes: 1