| From: | "Jaime Casanova" <systemguards(at)gmail(dot)com> | 
|---|---|
| To: | "Paulina Quezada" <paulina(dot)quezada(at)gmail(dot)com> | 
| Cc: | pgsql-es-ayuda(at)postgresql(dot)org | 
| Subject: | Re: Limitar el número de registros actualizados o borrados | 
| Date: | 2006-03-15 00:15:34 | 
| Message-ID: | c2d9e70e0603141615r2f693334q7c25a0e58656c5af@mail.gmail.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-es-ayuda | 
On 3/14/06, Paulina Quezada <paulina(dot)quezada(at)gmail(dot)com> wrote:
> Hola, quiero evitar que cualquier usuario haga deletes o updates masivos
> sobre una tabla, estoy tratando de controlarlo por trigger, pero no sé como
> obtengo desde postgress el número de filas afectadas como en sybase
> @@rowocount.  Intenté hacerlo mediante la sentencia GET DIAGNOSTICS variable
> = ROW_COUNT; pero me devuelve siempre 0 porque esta es la primera sentencia
> en la función asociada en el trigger y no existe una sentencia SQL antes.
> Espero que alguien me pueda ayudar, gracias!!
>
>
>
> CREATE OR REPLACE FUNCTION fc_insumo_de()
>   RETURNS "trigger" AS
> $BODY$
> DECLARE
>  my_rec   record;
>  fila       int;
> BEGIN
>
>  GET DIAGNOSTICS fila = ROW_COUNT;
>  --IF (fila) >1 THEN
>   --RAISE NOTICE 'NUMERO DE FILAS AFECTADAS %',fila;
>  --END IF
>
>  -- No se permite actualizaciones masivas --
>  IF fila > 1 THEN
>     RAISE EXCEPTION 'No se permite actualizaciones masivas';
>  END IF;
>
>         RETURN OLD;
>     END;
> $BODY$
>   LANGUAGE 'plpgsql' VOLATILE;
> ALTER FUNCTION fc_insumo_de() OWNER TO postgres;
>
>
> CREATE TRIGGER tr_insumo_de BEFORE DELETE ON insumo
>     FOR EACH STATEMENT EXECUTE PROCEDURE fc_insumo_de();
>
No deberia ser un trigger AFTER DELETE?
--
Atentamente,
Jaime Casanova
"What they (MySQL) lose in usability, they gain back in benchmarks, and that's
all that matters: getting the wrong answer really fast."
                           Randal L. Schwartz
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Jaime Casanova | 2006-03-15 00:27:05 | Re: importacion solucianada | 
| Previous Message | Alvaro Herrera | 2006-03-14 23:43:13 | Re: Trigger |