Devolver el primarykey del registro insertado (oracle)
Hola.
He creado el siguiente procedimiento:
CREATE OR REPLACE PROCEDURE SPALTAVEHICULO
(
MATRI IN VARCHAR2,
MARCA IN VARCHAR2,
MODELO IN VARCHAR2,
COLOR IN VARCHAR2
)
AS
BEGIN
INSERT INTO VEHICULO (PKVEHICULO, MATRICULA, MARCA, MODELO, COLOR) VALUES (SVEHICULO.NEXTVAL, MATRI, MARCA, MODELO, COLOR);
END;
Funciona, pero necesito que devuelva el valor de PKVEHICULO ya que se inserta mediante una secuencia y al hacer la llamada lo desconozco.
Si pudieseis reescribir el procedimiento lo agradeceria.
Gracias.
He creado el siguiente procedimiento:
CREATE OR REPLACE PROCEDURE SPALTAVEHICULO
(
MATRI IN VARCHAR2,
MARCA IN VARCHAR2,
MODELO IN VARCHAR2,
COLOR IN VARCHAR2
)
AS
BEGIN
INSERT INTO VEHICULO (PKVEHICULO, MATRICULA, MARCA, MODELO, COLOR) VALUES (SVEHICULO.NEXTVAL, MATRI, MARCA, MODELO, COLOR);
END;
Funciona, pero necesito que devuelva el valor de PKVEHICULO ya que se inserta mediante una secuencia y al hacer la llamada lo desconozco.
Si pudieseis reescribir el procedimiento lo agradeceria.
Gracias.
Hola,
que te parece asi
CREATE OR REPLACE PROCEDURE SPALTAVEHICULO
(
MATRI IN VARCHAR2,
MARCA IN VARCHAR2,
MODELO IN VARCHAR2,
COLOR IN VARCHAR2,
vehiculo out number
)
AS
BEGIN
select SVEHICULO.NEXTVAL
into vehiculo
from dual;
INSERT INTO VEHICULO (PKVEHICULO, MATRICULA, MARCA, MODELO, COLOR)
VALUES (vehiculo, MATRI, MARCA, MODELO, COLOR);
END;
que te parece asi
CREATE OR REPLACE PROCEDURE SPALTAVEHICULO
(
MATRI IN VARCHAR2,
MARCA IN VARCHAR2,
MODELO IN VARCHAR2,
COLOR IN VARCHAR2,
vehiculo out number
)
AS
BEGIN
select SVEHICULO.NEXTVAL
into vehiculo
from dual;
INSERT INTO VEHICULO (PKVEHICULO, MATRICULA, MARCA, MODELO, COLOR)
VALUES (vehiculo, MATRI, MARCA, MODELO, COLOR);
END;
