FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
trigger a nivel de campo
Hola a todos
Alguien sabe si se puede hacer un trigger a nivel de campo? Es decir, si un campo determinado de una tabla se modifica, que salte el trigger asociado. Supongo que poniendo una condicion en el trigger se podria acotar la ejecucion pero no se si se puede hacer lo otro comentado. Gracias a todos |
#2
|
||||
|
||||
Hola.
En efecto, se tiene que hacer mediante una condición en el trigger. if new.campo <> old.campo then .... Nota: debido a la forma especial en que operan los campos nulos, la condición realmente deberia ser : if new.campo <> old.campo or (new.campo is null and old.campo is not null) or (new.campo is not null and old.campo is null) then .... Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
#3
|
|||
|
|||
si lo que busco es actualizar un campo despues de una insercion como seria la sintaxis
CREATE trigger NombreCompleto for Solicitud active after insert,update position 0 AS begin new.Nombre_Completo=(select paterno|| ' ' || materno || ' ' || nombre ) end algo asi... |
#4
|
||||
|
||||
Cita:
CREATE trigger NombreCompleto for Solicitud active after insert,update position 0 AS begin new.Nombre_Completo = new.paterno|| ' ' || new.materno || ' ' || new.nombre end Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
#5
|
|||
|
|||
pero me marca este error....
ISC ERROR CODE:335544569 ISC ERROR MESSAGE: Dynamic SQL Error SQL error code=-104 Token unknown -line 18, char 1 end SET TERM ^^ ; CREATE TRIGGER AAAAAA_A_EJEMPLO FOR AAAAAA_A ACTIVE AFTER INSERT OR UPDATE POSITION 0 AS begin new.NOMBRECOMPLETO= new.APA1|| ' ' ||new.APE2|| ' ' ||new.NOMBRE end ^^ |
#6
|
|||
|
|||
Hola
Te falta el ; al final de la linea de la asignación del campo Panta |
|
|
|