Buenas tardes
Me encuentro realizando una migración de Oracle 9i a PostgreSQL 9.1 y me encontré con un Trigger en Oracle que contiene un condicional parecido al siguiente:
IF UPDATING('nombre_campo') THEN
[Bloque de sentencias SQL]
ELSE
[Otro Bloque de sentencias SQL]
END IF
La función UPDATING(column_name) se utiliza para saber si se está actualizando un campo en específico de la tabla asociada al Trigger.
Mis dudas son las siguientes, ¿Existe en PostgreSQL una función equivalente?. Ó ¿La implemento con condicionales preguntando si la acción es de actualización y la variable NEW.[nombre_campo] es distinto de NULL?
Espero me puedan ayudar y muchas gracias de antemano........
Re: Función updating(column_name)
Jue, 16/02/2012 - 09:27 — doctoreHola fmbs79.
Lo cierto es que tienes varias opciones:
1. Si el trigger que vas a crear en PostgreSQL ya está vinculado a la operación de UPDATE, puedes determinar que se lance cuando determinados campos cambien:
2. Si lo que tienes es un trigger genérico que se puede lanzar al: actualizar, insertar, etc. puedes discriminar internamente cuál fue la operación que lo "invocó", estableciendo dentro de la función que invoca el trigger:
Un saludo.
Función updating(column_name)
Jue, 16/02/2012 - 17:23 — fmbs79Muchisimas gracias doctore!!. Fue de gran utilidad tu aporte.
Enviar nuevo comentario