Skip site navigation (1) Skip section navigation (2)

Re: Problema con vista, regla, e insert multiple

From: Javier Rotelli <javier(dot)rotelli(at)gmail(dot)com>
To:
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Problema con vista, regla, e insert multiple
Date: 2011-01-10 18:00:54
Message-ID: AANLkTi=cg2PoW56M1Mb9ELhuGssSqnHCj72uLvtmv6W=@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
gracias por la pronta respuesta.
me olvide de poner, que los dos ids tienen como valor por default secuencias
que les asignan automaticamente un numero. asi que por ese lado no pareciera
estar el problema

El 10 de enero de 2011 13:58, Javier Aquino H.
<JAquino(at)lexuseditores(dot)com>escribi├│:

> Por lo que veo al hacer el INSERT en B solo insertas DATO1, pero no veo que
> ingreses el ID.
>
>
>
> Slds,
>
>
>
> Javier.
>
>
>
>
>
> *De:* pgsql-es-ayuda-owner(at)postgresql(dot)org [mailto:
> pgsql-es-ayuda-owner(at)postgresql(dot)org] *En nombre de *Javier Rotelli
> *Enviado el:* lunes, 10 de enero de 2011 11:49 a.m.
> *Para:* pgsql-es-ayuda(at)postgresql(dot)org
> *Asunto:* [pgsql-es-ayuda] Problema con vista, regla, e insert multiple
>
>
>
> estimados:
>
>
>
> estoy trabajando ahce poco con postgreSQL. y me surgio un problema que no
> puedo solucionar:
>
>
>
> tengo dos tablas, realacionadas mediante una FK de la siguiente manera:
>
>
>
> A                              B
>
> ID               |------>ID
>
> DatoA |           DATO1
>
> DatoB |
>
> DatoC |
>
> ID_B---------|
>
>
>
> arme una vista que tiene la siguiente estructura:
>
> SELECT A.ID, A.DatoA, A.DatoB, A.DatoC, B.Dato1
>
> FROM A JOIN B ON A.ID_B = B.ID
>
>
>
> el problema viene cuando quiero armar las reglas que hagan que se pueda
> inserta en la vista.
>
> si la regla consta de un solo insert funciona, ahora, la regla que defini
> para el caso de querer insertar un valor de Dato1 que no este en B, inserta
> en B, pero no hace el insert en A.
>
> es una limitacion de las reglas? o estoy armandolas mal?
>
>
>
> CREATE OR REPLACE RULE insert_nuevo_Dato1 AS
>
>     ON INSERT TO vista_AB
>
>    WHERE NOT (new.Dato1 IN ( SELECT Dato1
>
>            FROM B))
>
> DO INSTEAD (
>
> INSERT INTO B (Dato1)
>
>   VALUES (new.Dato1);
>
>
>
>  INSERT INTO A (ID, DatoA, DatoB, DatoC)
>
>   VALUES (new.ID, new.DatoA, new.DatoB, new.DatoC);
>
> );
>
>
>
> buscando encontre que la herramienta que estaba utilizando(pgAdmin III)
> tiene un bug que no permite agregar multiples sentencias en una regla, por
> lo que tuve que crearla mediante psql. pero aun asi, el 2┬║ insert sigue sin
> ejecutarse.
>
>
>
>
>
> lo que quiero hacer no se puede hacer mediante reglas? o me estoy
> equivocando en algo?
>
>
>
> muchas gracias por su atencion.
>
> Javier Rotelli
>

In response to

Responses

pgsql-es-ayuda by date

Next:From: Javier Aquino H.Date: 2011-01-10 18:06:29
Subject: RE: Problema con vista, regla, e insert multiple
Previous:From: Javier Aquino H.Date: 2011-01-10 16:58:26
Subject: RE: Problema con vista, regla, e insert multiple

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group