Bases de Datos - Consulta SQL

 
Vista:
sin imagen de perfil
Val: 2
Ha aumentado 1 puesto en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

Consulta SQL

Publicado por li2932 (2 intervenciones) el 29/04/2020 22:02:59
Hola buenas tengo que realizar un disparador que cuando se registre un nuevo parte de accidentes, si la condicion de responsable es "S" añada un asterisco (*) al nombre del cliente y cambie el tipo de seguro al valor ‘S’.

Llevo realizado esto pero se me ejecuta en todas las filas de las tablas. Necesito ayuda.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
create or replace trigger trigger before insert on s_vehic_accid for each row
 
DECLARE
 
vdni s_clientes.dni%type;
vmatri s_vehiculos.matricula%type;
vnombre s_clientes.nombre%type;
 
BEGIN
 
Select matricula into vmatri from s_vehiculos, s_clientes where s_clientes.dni=s_vehiculos.dni_cliente and matricula=:new.matricula;
select nombre into vnombre from s_clientes, s_vehiculos where s_clientes.dni=s_vehiculos.dni_cliente and matricula=:new.matricula;
 
if(:new.responsable='S') then
update s_vehiculos set tipo_seguro = 'S' where vmatri=:new.matricula;
update s_clientes set nombre= vnombre || '_' || '*' where vmatri=:new.matricula;
end if;
END;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder