Ejercicio
Publicado por Nikeman (1 intervención) el 17/01/2022 14:58:41
Buenas!
estoy estudiando base de datos y actualmente estoy con procedimientos, cursores y triggers. Tengo un ejercicio que consiste sobre una tabla llamada Incidencias, solicitar la entrada a través del teclado de los datos de cada una de las columnas, verificar que no se haya registrado el nº de incidencia antes (IdIncidencia), en caso negativo, se registra correctamente, en caso negativo indicar que esa incidencia ya existe.
Aviso a navegantes que estoy aprendiendo y que estoy bebiendo de todas las fuentes que puedo para comprender, lo digo porque el código está seguro incompleto y seguramente mal. Os lo pasteo:
CREATE OR REPLACE PROCEDURE entrar_incidencia(
IdIncidencia NUMBER (2):= '&IdIncidencia';
Equipo NUMBER (2):= '&Equipo';
Descripción VARCHAR (100):= '&Descripción';
Fechahora TIMESTAMP (6):= 'Fechahora';
Trabajador NUMBER (2):= '&Trabajador';
IdIncidenciaExistente EXCEPTION;)
AS
CURSOR c_incidencia IS SELECT IdIncidencia
FROM Incidencias
v_
BEGIN
OPEN c_incidencia;
FETCH c_incidencia INTO
IF IdIncidencia EXISTS THEN
RAISE IdIncidenciaExistente
END IF;
EXCEPTION
WHEN IdIncidenciaExistente THEN
dbms_output.put_line('El número de incidencia ya existe');
RAISE;
WHEN OTHERS THEN
dbms_output.put_line('La incidencia se ha registrado correctamente');
END entrar_incidencia;
/
Seguramente esté enrredando con muchas cosas. Lo que quiero es eso, que si la Id de la incidencia ya existe, me indique que ya existe y sino que la registre. ¿Me echáis una mano?, ¿Alguna fuente donde aprender bien cómo funciona toda esta parte de pl sql?
Gracias!
estoy estudiando base de datos y actualmente estoy con procedimientos, cursores y triggers. Tengo un ejercicio que consiste sobre una tabla llamada Incidencias, solicitar la entrada a través del teclado de los datos de cada una de las columnas, verificar que no se haya registrado el nº de incidencia antes (IdIncidencia), en caso negativo, se registra correctamente, en caso negativo indicar que esa incidencia ya existe.
Aviso a navegantes que estoy aprendiendo y que estoy bebiendo de todas las fuentes que puedo para comprender, lo digo porque el código está seguro incompleto y seguramente mal. Os lo pasteo:
CREATE OR REPLACE PROCEDURE entrar_incidencia(
IdIncidencia NUMBER (2):= '&IdIncidencia';
Equipo NUMBER (2):= '&Equipo';
Descripción VARCHAR (100):= '&Descripción';
Fechahora TIMESTAMP (6):= 'Fechahora';
Trabajador NUMBER (2):= '&Trabajador';
IdIncidenciaExistente EXCEPTION;)
AS
CURSOR c_incidencia IS SELECT IdIncidencia
FROM Incidencias
v_
BEGIN
OPEN c_incidencia;
FETCH c_incidencia INTO
IF IdIncidencia EXISTS THEN
RAISE IdIncidenciaExistente
END IF;
EXCEPTION
WHEN IdIncidenciaExistente THEN
dbms_output.put_line('El número de incidencia ya existe');
RAISE;
WHEN OTHERS THEN
dbms_output.put_line('La incidencia se ha registrado correctamente');
END entrar_incidencia;
/
Seguramente esté enrredando con muchas cosas. Lo que quiero es eso, que si la Id de la incidencia ya existe, me indique que ya existe y sino que la registre. ¿Me echáis una mano?, ¿Alguna fuente donde aprender bien cómo funciona toda esta parte de pl sql?
Gracias!
Valora esta pregunta


0