Re: ALIAS para tablas en PostgreSQL

Lists: pgsql-es-ayuda
From: "Diego Ayala" <netdiego81(at)gmail(dot)com>
To: "Postgres Ayuda" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: ALIAS para tablas en PostgreSQL
Date: 2008-11-27 13:53:20
Message-ID: 6b81cb150811270553s53fa2744k10c66e2b6dba9e3@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Buenos dias listeros, tengo una consulta, es mas bien una duda que quisiera
sacarme, estuve buscando y no estoy encontrando algo sobre esto, es saber si
se puede crear ALIAS para las tablas que tengo dentro de mi base de
datos..!!

--
Diego Ayala


From: Javier Chávez B(dot) <jchavezb(at)gmail(dot)com>
To: "Diego Ayala" <netdiego81(at)gmail(dot)com>
Cc: "Postgres Ayuda" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: ALIAS para tablas en PostgreSQL
Date: 2008-11-27 14:08:16
Message-ID: ded64bba0811270608y4c5c9ad0y9a9a6481bfa5b49b@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

2008/11/27 Diego Ayala <netdiego81(at)gmail(dot)com>:
> Buenos dias listeros, tengo una consulta, es mas bien una duda que quisiera
> sacarme, estuve buscando y no estoy encontrando algo sobre esto, es saber si
> se puede crear ALIAS para las tablas que tengo dentro de mi base de
> datos..!!
>
>
como asi??? para las consultas ???
algo como lo que esta aqui :

http://www.postgresql.org/docs/8.3/static/queries-table-expressions.html

7.2.1.2. Table and Column Aliases

A temporary name can be given to tables and complex table references
to be used for references to the derived table in the rest of the
query. This is called a table alias.

To create a table alias, write

FROM table_reference AS alias
or

FROM table_reference alias

Es eso ? o es otra cosa???

slds.

J.

> --
> Diego Ayala
>

--
Cumprimentos
jchavez
linux User #397972 on http://counter.li.org/


From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Diego Ayala <netdiego81(at)gmail(dot)com>
Cc: Postgres Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: ALIAS para tablas en PostgreSQL
Date: 2008-11-27 14:39:12
Message-ID: 20081127143912.GD4586@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Diego Ayala escribió:
> Buenos dias listeros, tengo una consulta, es mas bien una duda que quisiera
> sacarme, estuve buscando y no estoy encontrando algo sobre esto, es saber si
> se puede crear ALIAS para las tablas que tengo dentro de mi base de
> datos..!!

¿Algo así?

create view bar as select * from foo;

--
Alvaro Herrera http://www.amazon.com/gp/registry/CTMLCN8V17R4
"No hay hombre que no aspire a la plenitud, es decir,
la suma de experiencias de que un hombre es capaz"


From: "Diego Ayala" <netdiego81(at)gmail(dot)com>
To: "Alvaro Herrera" <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: "Postgres Ayuda" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: ALIAS para tablas en PostgreSQL
Date: 2008-11-27 15:04:39
Message-ID: 6b81cb150811270704l11ae783dq5690ffbed443cdc9@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

sii, disculpen que no me haya hecho entender, lo que quiero saber si se
tiene la posibilidad de hacer synonym asi como lo tiene Oracle, si se tiene
esa opcion..!!!

2008/11/27 Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>

> Diego Ayala escribió:
> > Buenos dias listeros, tengo una consulta, es mas bien una duda que
> quisiera
> > sacarme, estuve buscando y no estoy encontrando algo sobre esto, es saber
> si
> > se puede crear ALIAS para las tablas que tengo dentro de mi base de
> > datos..!!
>
> ¿Algo así?
>
> create view bar as select * from foo;
>
> --
> Alvaro Herrera
> http://www.amazon.com/gp/registry/CTMLCN8V17R4
> "No hay hombre que no aspire a la plenitud, es decir,
> la suma de experiencias de que un hombre es capaz"
>

--
Diego Ayala


From: "Jaime Casanova" <jcasanov(at)systemguards(dot)com(dot)ec>
To: "Diego Ayala" <netdiego81(at)gmail(dot)com>
Cc: "Alvaro Herrera" <alvherre(at)alvh(dot)no-ip(dot)org>, "Postgres Ayuda" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: ALIAS para tablas en PostgreSQL
Date: 2008-11-27 15:22:12
Message-ID: 3073cc9b0811270722q266c4312me21086f2c60c5e84@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

On Thu, Nov 27, 2008 at 10:04 AM, Diego Ayala <netdiego81(at)gmail(dot)com> wrote:
> sii, disculpen que no me haya hecho entender, lo que quiero saber si se
> tiene la posibilidad de hacer synonym asi como lo tiene Oracle, si se tiene
> esa opcion..!!!
>

no. pero como Alvaro indica puedes crear una vista y adicionalmente
añadire que puedes crear reglas que hagan posible que ejecutes
INSERT/UPDATE/DELETE en la vista.

Algo asi:
create view bar as select * from foo;

--replace * with the actual names of columns for every column you want to affect
create rule r_insert_bar as on insert to bar do instead insert into
foo values (new.*);
create rule r_update_bar as on update to bar do instead update foo set
* = new.* where pk =old.pk;
create rule r_delete_bar as on delete to bar do instead delete from
where pk =old.pk;

--
Atentamente,
Jaime Casanova
Soporte y capacitación de PostgreSQL
Asesoría y desarrollo de sistemas
Guayaquil - Ecuador
Cel. +59387171157


From: "Jaime Casanova" <jcasanov(at)systemguards(dot)com(dot)ec>
To: "Diego Ayala" <netdiego81(at)gmail(dot)com>
Cc: "Alvaro Herrera" <alvherre(at)alvh(dot)no-ip(dot)org>, "Postgres Ayuda" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: ALIAS para tablas en PostgreSQL
Date: 2008-11-27 15:23:37
Message-ID: 3073cc9b0811270723u3d75193coec864f66e2204489@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

On Thu, Nov 27, 2008 at 10:22 AM, Jaime Casanova
<jcasanov(at)systemguards(dot)com(dot)ec> wrote:
>
> Algo asi:
> create view bar as select * from foo;
>
> --replace * with the actual names of columns for every column you want to affect

perdon, no me di cuenta hasta que lo envie:

--reemplaza el * por los nombres de cada una de las columnas que quieres afectar

--
Atentamente,
Jaime Casanova
Soporte y capacitación de PostgreSQL
Asesoría y desarrollo de sistemas
Guayaquil - Ecuador
Cel. +59387171157


From: "Diego Ayala" <netdiego81(at)gmail(dot)com>
To: "Jaime Casanova" <jcasanov(at)systemguards(dot)com(dot)ec>
Cc: "Alvaro Herrera" <alvherre(at)alvh(dot)no-ip(dot)org>, "Postgres Ayuda" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: ALIAS para tablas en PostgreSQL
Date: 2008-11-27 15:24:54
Message-ID: 6b81cb150811270724i1d00dccbpc7e6df0e5563e5e3@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Muchas gracias a todos por su ayuda..!!! y sacarme la duda, la verdad, que
asi como alvaro indico, ya podria utilizarlo.

2008/11/27 Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec>

> On Thu, Nov 27, 2008 at 10:04 AM, Diego Ayala <netdiego81(at)gmail(dot)com>
> wrote:
> > sii, disculpen que no me haya hecho entender, lo que quiero saber si se
> > tiene la posibilidad de hacer synonym asi como lo tiene Oracle, si se
> tiene
> > esa opcion..!!!
> >
>
> no. pero como Alvaro indica puedes crear una vista y adicionalmente
> añadire que puedes crear reglas que hagan posible que ejecutes
> INSERT/UPDATE/DELETE en la vista.
>
> Algo asi:
> create view bar as select * from foo;
>
> --replace * with the actual names of columns for every column you want to
> affect
> create rule r_insert_bar as on insert to bar do instead insert into
> foo values (new.*);
> create rule r_update_bar as on update to bar do instead update foo set
> * = new.* where pk =old.pk;
> create rule r_delete_bar as on delete to bar do instead delete from
> where pk =old.pk;
>
> --
> Atentamente,
> Jaime Casanova
> Soporte y capacitación de PostgreSQL
> Asesoría y desarrollo de sistemas
> Guayaquil - Ecuador
> Cel. +59387171157
>

--
Diego Ayala


From: Javier Chávez B(dot) <jchavezb(at)gmail(dot)com>
To: "Jaime Casanova" <jcasanov(at)systemguards(dot)com(dot)ec>
Cc: "Diego Ayala" <netdiego81(at)gmail(dot)com>, "Alvaro Herrera" <alvherre(at)alvh(dot)no-ip(dot)org>, "Postgres Ayuda" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: ALIAS para tablas en PostgreSQL
Date: 2008-11-27 15:27:15
Message-ID: ded64bba0811270727v20a8e393icaea7b1a8c21db19@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

On Thu, Nov 27, 2008 at 3:22 PM, Jaime Casanova
<jcasanov(at)systemguards(dot)com(dot)ec> wrote:
> On Thu, Nov 27, 2008 at 10:04 AM, Diego Ayala <netdiego81(at)gmail(dot)com> wrote:
>> sii, disculpen que no me haya hecho entender, lo que quiero saber si se
>> tiene la posibilidad de hacer synonym asi como lo tiene Oracle, si se tiene
>> esa opcion..!!!
>>
>
> no. pero como Alvaro indica puedes crear una vista y adicionalmente
> añadire que puedes crear reglas que hagan posible que ejecutes
> INSERT/UPDATE/DELETE en la vista.
>
> Algo asi:
> create view bar as select * from foo;
>
> --replace * with the actual names of columns for every column you want to affect
> create rule r_insert_bar as on insert to bar do instead insert into
> foo values (new.*);
> create rule r_update_bar as on update to bar do instead update foo set
> * = new.* where pk =old.pk;
> create rule r_delete_bar as on delete to bar do instead delete from
> where pk =old.pk;

O sea de esta manera estoy actualizando una vista pero le indico que
actualice los campos fisicos que lo componen verdad??? su manera de
trabajo es como una especie de trigger???

Slds.
J

--
Cumprimentos
jchavez
linux User #397972 on http://counter.li.org/


From: "Jaime Casanova" <jcasanov(at)systemguards(dot)com(dot)ec>
To: Javier Chávez B(dot) <jchavezb(at)gmail(dot)com>
Cc: "Diego Ayala" <netdiego81(at)gmail(dot)com>, "Alvaro Herrera" <alvherre(at)alvh(dot)no-ip(dot)org>, "Postgres Ayuda" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: ALIAS para tablas en PostgreSQL
Date: 2008-11-27 15:36:01
Message-ID: 3073cc9b0811270736n1c10a67aoc8e1d6f1d1a90b60@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

On Thu, Nov 27, 2008 at 10:27 AM, Javier Chávez B. <jchavezb(at)gmail(dot)com> wrote:
>>
>> Algo asi:
>> create view bar as select * from foo;
>>
>> --replace * with the actual names of columns for every column you want to affect
>> create rule r_insert_bar as on insert to bar do instead insert into
>> foo values (new.*);
>> create rule r_update_bar as on update to bar do instead update foo set
>> * = new.* where pk =old.pk;
>> create rule r_delete_bar as on delete to bar do instead delete from
>> where pk =old.pk;
>
> O sea de esta manera estoy actualizando una vista pero le indico que
> actualice los campos fisicos que lo componen verdad??? su manera de
> trabajo es como una especie de trigger???
>

no. una vista es un select con un nombre. no tiene campos fisicos...
mas bien el DO INSTEAD le dice que en lugar de ejecutar la sentencia
que tu le pasaste (ej: INSERT INTO mivista) ejecute la sentencia que
yo le digo... es mas un re-escritor de consultas (una forma de macro
si se quiere)

--
Atentamente,
Jaime Casanova
Soporte y capacitación de PostgreSQL
Asesoría y desarrollo de sistemas
Guayaquil - Ecuador
Cel. +59387171157


From: Javier Chávez B(dot) <jchavezb(at)gmail(dot)com>
To: "Jaime Casanova" <jcasanov(at)systemguards(dot)com(dot)ec>
Cc: "Diego Ayala" <netdiego81(at)gmail(dot)com>, "Alvaro Herrera" <alvherre(at)alvh(dot)no-ip(dot)org>, "Postgres Ayuda" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: ALIAS para tablas en PostgreSQL
Date: 2008-11-27 15:43:53
Message-ID: ded64bba0811270743n7a90bc49ye49c5181bc3adbb2@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

On Thu, Nov 27, 2008 at 3:36 PM, Jaime Casanova
<jcasanov(at)systemguards(dot)com(dot)ec> wrote:
> On Thu, Nov 27, 2008 at 10:27 AM, Javier Chávez B. <jchavezb(at)gmail(dot)com> wrote:
>>>
>>> Algo asi:
>>> create view bar as select * from foo;
>>>
>>> --replace * with the actual names of columns for every column you want to affect
>>> create rule r_insert_bar as on insert to bar do instead insert into
>>> foo values (new.*);
>>> create rule r_update_bar as on update to bar do instead update foo set
>>> * = new.* where pk =old.pk;
>>> create rule r_delete_bar as on delete to bar do instead delete from
>>> where pk =old.pk;
>>
>> O sea de esta manera estoy actualizando una vista pero le indico que
>> actualice los campos fisicos que lo componen verdad??? su manera de
>> trabajo es como una especie de trigger???
>>
>
> no. una vista es un select con un nombre. no tiene campos fisicos...
> mas bien el DO INSTEAD le dice que en lugar de ejecutar la sentencia
> que tu le pasaste (ej: INSERT INTO mivista) ejecute la sentencia que
> yo le digo... es mas un re-escritor de consultas (una forma de macro
> si se quiere)

Dejame entender bien la idea ....

Alvaro dijo lo siguiente :

create view bar as select * from foo;

Tu posteaste :

>>> --replace * with the actual names of columns for every column you want to affect
>>> create rule r_insert_bar as on insert to bar do instead insert into
>>> foo values (new.*);
>>> create rule r_update_bar as on update to bar do instead update foo set
>>> * = new.* where pk =old.pk;
>>> create rule r_delete_bar as on delete to bar do instead delete from
>>> where pk =old.pk;
Lo que daria como resultado algo asi :

create view bar as
select create rule r_insert_bar as on insert to bar do instead
insert into foo values (new.*);
create rule r_update_bar as on update to bar do instead
update foo set * = new.* where pk =old.pk;
create rule r_delete_bar as on delete to bar do instead
delete from where pk =old.pk; from foo;

La sintaxis seria esa??? ( en terminos generales por supuesto) o
no??? y lo que haria seria para cada una de las sentencias
Insert/Delete / Update , realizar una accion en la tabla fisica... va
por ahi ???

Slds
J

--
Cumprimentos
jchavez
linux User #397972 on http://counter.li.org/


From: "Jaime Casanova" <jcasanov(at)systemguards(dot)com(dot)ec>
To: Javier Chávez B(dot) <jchavezb(at)gmail(dot)com>
Cc: "Diego Ayala" <netdiego81(at)gmail(dot)com>, "Alvaro Herrera" <alvherre(at)alvh(dot)no-ip(dot)org>, "Postgres Ayuda" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: ALIAS para tablas en PostgreSQL
Date: 2008-11-27 16:05:01
Message-ID: 3073cc9b0811270805h71847654x4df3d2fd1e911b2f@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

On Thu, Nov 27, 2008 at 10:43 AM, Javier Chávez B. <jchavezb(at)gmail(dot)com> wrote:

> Lo que daria como resultado algo asi :
>
> create view bar as
> select create rule r_insert_bar as on insert to bar do instead
> insert into foo values (new.*);
> create rule r_update_bar as on update to bar do instead
> update foo set * = new.* where pk =old.pk;
> create rule r_delete_bar as on delete to bar do instead
> delete from where pk =old.pk; from foo;
>
> La sintaxis seria esa???

no... son 4 sentencias separadas... primero el CREATE VIEW y luego las
3 CREATE RULE

> y lo que haria seria para cada una de las sentencias
> Insert/Delete / Update , realizar una accion en la tabla fisica... va
> por ahi ???
>

eso si...

--
Atentamente,
Jaime Casanova
Soporte y capacitación de PostgreSQL
Asesoría y desarrollo de sistemas
Guayaquil - Ecuador
Cel. +59387171157


From: Juan Ramirez <juanrmiranda(at)hotmail(dot)com>
To: PostGreSQL Lista de Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: ALIAS para tablas en PostgreSQL
Date: 2008-11-27 16:05:18
Message-ID: BAY104-W208D9631D7DB06A83E8CD4D1050@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda


>From: netdiego81(at)gmail(dot)com
>Buenos dias listeros, tengo una consulta, es mas bien una duda que quisiera sacarme, estuve buscando y no estoy encontrando algo sobre esto,
>es saber si se puede crear ALIAS para las tablas que tengo dentro de mi base de datos..!!

espero no incomodar, pero yo te recomiendo la lectura del uso de vistas, luego consultes las dudas que tengas....

revisa el siguiente link, talvéz te ayude:
http://es.tldp.org/Postgresql-es/web/navegable/programmer/x895.html

_________________________________________________________________
Invite your mail contacts to join your friends list with Windows Live Spaces. It's easy!
http://spaces.live.com/spacesapi.aspx?wx_action=create&wx_url=/friends.aspx&mkt=en-us