From: | Esteban Osorio <eosorio(at)economia(dot)cl> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | RE: Error al Crear Function para trigger |
Date: | 2006-09-01 16:11:26 |
Message-ID: | 146DD1939016834EB2265A13EAA6A9230286A180@correo.minecon.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Ni idea de cual será tu problema pero por si te sirve te mando el código de
un trigger que me funciona perfecto.
CREATE OR REPLACE FUNCTION comprueba_mail_empleado() RETURNS trigger AS '
DECLARE
fila integer;
BEGIN
select into fila count(id_empleado) from directorio where
upper(trim(e_mail)) = upper(trim(NEW.e_mail));
if fila > 0 then
raise exception ''El mail otorgado al nuevo empleado
(%) ha sido asignado previamente a otro usuario.'', NEW.e_mail;
end if;
RETURN NEW;
END;
' LANGUAGE 'plpgsql' VOLATILE;
--
Saludos a la lista,
Esteban Osorio.
_____
De: WILLIAM PARRA [mailto:wilparra(at)yahoo(dot)com]
Enviado el: Viernes, 01 de Septiembre de 2006 10:27
Para: pgsql-es-ayuda(at)postgresql(dot)org
Asunto: [pgsql-es-ayuda] Error al Crear Function para trigger
Buenos días compañeros de lista.
Tengo un problema al crear una función para un trigger. me saca un error
como el siguiente:
ERROR: unterminated dollar-quoted string at or near "$inserta_empleado$
BEGIN
IF NEW.nombre_empleado IS NULL THEN
RAISE EXCEPTION 'El nombre del Empleado no puede ser Nulo'"
Line: 1
Este es el codigo de creacion de la funcion....
CREATE FUNCTION inserta_empleado() RETURNS trigger AS $inserta_empleado$
BEGIN
-- Check that empname and salary are given
IF NEW.nombre_empleado IS NULL THEN
RAISE EXCEPTION 'El nombre del Empleado no puede ser Nulo';
END IF;
IF NEW.salario IS NULL THEN
RAISE EXCEPTION '% No puede tener salario nulo',
NEW.nombre_empleado;
END IF;
-- Who works for us when she must pay for it?
IF NEW.salario < 0 THEN
RAISE EXCEPTION '% No puede tener salario negativo',
NEW.nombre_empleado;
END IF;
-- Remember who changed the payroll when
NEW.fecha_actualiza := 'now';
NEW.usuario_actualiza := current_user;
RETURN NEW;
END;
$inserta_empleado$ LANGUAGE plpgsql;
Y por si las dudas... este es el codigo de creacion de la tabla....
CREATE TABLE empleado (
nombre_empleado text,
salario integer,
fecha_actualiza timestamp,
usuario_actualiza text
)
Una cosa más.... Tengo montada una version postgresql 8.0 sobre un Win 2000.
La base de datos esta creada con codificacion Latin 1
Gracias por su colaboración....
Saludos,
William Enrique Parra Alba
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
From | Date | Subject | |
---|---|---|---|
Next Message | Carlos Andres Pizo | 2006-09-01 16:51:38 | Insercion tabla |
Previous Message | WILLIAM PARRA | 2006-09-01 16:01:21 | Re: Error al Crear Function para trigger |