Re: Comprobar si un campo tiene datos antes de insertar datos en otro.

From: Pablo Braulio <brulics(at)gmail(dot)com>
To: Arturo Munive <arturomunive(at)gmail(dot)com>
Cc: postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Comprobar si un campo tiene datos antes de insertar datos en otro.
Date: 2007-12-21 13:57:49
Message-ID: 476BC65D.9010404@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Pablo Braulio escribió:
>
>> prueba con los valores de retorno del trigger
>
>> Si tu retornas NULL desde un trigger [before a nivel de fila] postgre
>> cancelará el resto de la operación lo que significa que postgre no
>> disparará ningún trigger siguiente el INSERT, UPDATE, o DELETE no
>> ocurrirá para esa fila
>
>
> Hola.
>
> No acabo de entender lo que dices.
>
> Cuando se crea el trigger (...before update on tabla for each row...),
> ¿es posible ejecutarlo al hacer un update sobre un campo de una tabla?.
>
> De ser así, ¿podrías ponerme un ejemplo?, es que no conozco la sintaxis.
>
>
> Gracias.
>

Segun he visto en la documentación se puede ejecutar un trigger según
determinadas columnas:

CREATE TRIGGER statement in PostgreSQL implements a subset of the SQL
standard. The following functionality is currently missing:

*

SQL allows triggers to fire on updates to specific columns (e.g.,
AFTER UPDATE OF col1, col2).

Pero no acierto con la sintaxis:

create or replace function updatecontrolinicio() returns trigger as $$
begin
if new.inicio is null
then
raise exception 'La fase no ha sido iniciada previamente.';
end if;
return new;
end;
$$ language plpgsql;
create trigger updatecontrolinicio before update of fin on controlinicio
for each row execute procedure updatecontrolinicio();

Esto me da error:

ERROR: error de sintaxis en o cerca de «of»
LINE 10: create trigger updatecontrolinicio before update of fin on c...
^

¿Alguna idea?.

Gracias por el comentario.
- --

< ¡¡Nos vemos!! >
----------------------------
\
\
.::!!!!!!!:.
.!!!!!:. .:!!!!!!!!!!!!
~~~~!!!!!!. .:!!!!!!!!!UWWW$$$
:$$NWX!!: .:!!!!!!XUWW$$$$$$$$$P
$$$$$##WX!: .<!!!!UW$$$$" $$$$$$$$#
$$$$$ $$$UX :!!UW$$$$$$$$$ 4$$$$$*
^$$$B $$$$\ $$$$$$$$$$$$ d$$R"
"*$bd$$$$ '*$$$$$$$$$$$o+#"
"""" """""""
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHa8ZdK7lGsMchFswRAjCOAJwNKtkyYPwnOhbwRZUSxScKmKqw1wCfRb+2
ClDBXEwz6RBvl9/IK1p1r4c=
=6Ucx
-----END PGP SIGNATURE-----

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Luis Rodrigo Gallardo Cruz 2007-12-21 14:09:23 Re: Comprobar si un campo tiene datos antes de insertar datos en otro.
Previous Message Pablo Braulio 2007-12-21 13:35:27 Re: Comprobar si un campo tiene datos antes de insertar datos en otro.