Re: problema con vistas

From: "Jaime Casanova" <systemguards(at)gmail(dot)com>
To: "Martin Marques" <martin(at)bugs(dot)unl(dot)edu(dot)ar>
Cc: ZkrGy(at)ono(dot)com, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: problema con vistas
Date: 2006-07-17 05:39:29
Message-ID: c2d9e70e0607162239j2447380byc6184feb22d2499b@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On 7/16/06, Martin Marques <martin(at)bugs(dot)unl(dot)edu(dot)ar> wrote:
>
> On Sun, 16 Jul 2006 22:57:13 +0200, ZkrGy(at)ono(dot)com wrote:
> > Saludos.
> > Miren, necesito crear unas vistas, mediante las cuales los usuarios
> > introducirán
> > datos en la BD. Bien, para controlar las inserciones quería usar WITH
> > CHECK
> > OPTIONS (siempre lo he hecho así en Oracle) pero en Postgres me da un
> > error,
> > parece como si no estuviese implementado.
>
> Del Oracle8 SQL Reference, hay una seccion "Oracle and Standard SQL":
>
> CREATE VIEW
>
> The CREATE VIEW command supports this additional syntax:
>
> * OR REPLACE option
> * FORCE and NOFORCE options
> * CONSTRAINT identifier with the WITH CHECK OPTION
>
>
> Como veras, esto no esta en el ANSI-SQL.
>

de hecho, si esta. es el punto 11.19 en el SQL92, 11.21 en el SQL99 y
11.22 en el SQL2003 (al menos en el draft que tengo del SQL2003)

WITH [ CASCADED | LOCAL ] CHECK OPTION es una clausula que se usa
exclusivamente con vistas actualizables, pero en postgres aun no hay
vistas actualizables (al menos no creadas automaticamente).

mira la seccion de compatibilidad en:
http://www.postgresql.org/docs/8.1/static/sql-createview.html

Para la version 8.2 puede ser que se añada soporte para vistas
actualizables segun estan definidas en SQL92

En cuanto a la pregunta original, el usar reglas es correcto en este caso...
es mas la implementacion que se esta haciendo es precisamente crear
reglas que en la clausula WHEN ejecuten una funcion que verifique las
condiciones de la vista para saber si debe insertar (o actualizar
segun sea el caso)

--
Atentamente,
Jaime Casanova

"Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs and the universe trying
to produce bigger and better idiots.
So far, the universe is winning."
Richard Cook

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jorge Alejandro Adell 2006-07-17 06:32:35 vacuum y la limpieza de la base de datos
Previous Message Martin Marques 2006-07-16 21:45:13 Re: problema con vistas