| 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: | Whole Thread | Raw Message | 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-----
| 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. |