[Pgsql-ayuda] return new, return old, trigger

From: sandrigo lezcano <alkafes(at)yahoo(dot)com>
To: pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx
Subject: [Pgsql-ayuda] return new, return old, trigger
Date: 2003-08-12 15:39:56
Message-ID: 20030812153956.29458.qmail@web20008.mail.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

algun consejo sencillo para ayudarme a establecer
si mi retorno en una

function-trigger sea new o old ???

entiendo (creo... segun manual)
NEW: variable holding (..???) para operacion INSERT/UPDATE
en la nueva tupla ... ????
OLD: variable holding (..???) para operacion UPDATE/DELETE
en la ultima tupla (vieja) ..??

ej. (es un trigger migrado (o intento..) del sybase)

CREATE FUNCTION tub_personas () RETURNS TRIGGER AS '
begin
new.cedula := fn_quitar_puntos_de_cadena(new.cedula);
new.ruc := trim(new.ruc);
if length(new.ruc) = 0 then
new.ruc := null;
end if;
if update(cedula) then
if new.cedula is not null then
if exists(select 1 from personas where cedula = new.cedula)
then
RAISE EXCEPTION ''<*El Nro. de Cédula ya existe!!*>'';
end if;
end if;
end if;
if update(credito_maximo) then
if old.credito_disponible = old.credito_maximo then
new.credito_disponible := new.credito_maximo;
elseif old.credito_disponible < old.credito_maximo then
RAISE EXCEPTION ''<*El Crédito Disponible ha sido
utilizado, no puede modificar el Crédito Máximo*>'';
end if;
end if;
return new;
end;

CREATE TRIGGER tub_personas BEFORE UPDATE ON personas
FOR EACH ROW EXECUTE PROCEDURE tub_personas();

=====
-- ICQ Web-based!!
----------------------------------------------
Sandrigo Lezcano Jara ICQ: 143590717
Asuncion, Paraguay http://go.icq.com

_________________________________________________________
Do You Yahoo!?
Información de Estados Unidos y América Latina, en Yahoo! Noticias.
Visítanos en http://noticias.espanol.yahoo.com

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alfonso Andaur L. 2003-08-12 16:35:01 Re: [Pgsql-ayuda] return new, return old, trigger
Previous Message Oscar Estevez Lopez 2003-08-12 15:31:51 Re: [Pgsql-ayuda] Uso de GRANT para toda las tablas