Re: Fwd: sobre rowtype

Lists: pgsql-es-ayuda
From: "Pedro Mateo" <pedromateoa(at)gmail(dot)com>
To: "ayuda postgres" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: sobre rowtype
Date: 2007-06-04 00:39:40
Message-ID: [email protected]
Views: Whole Thread | Raw Message | Download mbox | Resend email
Lists: pgsql-es-ayuda

hola amigos
tengo una pregunta
tengo segun leo en la documentacion existe la forma de crear una variable
con la estructura de una determinada tabla
(rowtype)

esta variable puede ser tratada como una tabla ?
se le pueden hacer inserts, selects y updates

existen otros manejadores que puede hacer eso

es posible en postgres?

gracias de antemano


From: "Agustin Casiva" <casivaagustin(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: sobre rowtype
Date: 2007-06-04 17:56:25
Message-ID: [email protected]
Views: Whole Thread | Raw Message | Download mbox | Resend email
Lists: pgsql-es-ayuda

On 6/3/07, Pedro Mateo <pedromateoa(at)gmail(dot)com> wrote:
>
> hola amigos
> tengo una pregunta
> tengo segun leo en la documentacion existe la forma de crear una variable
> con la estructura de una determinada tabla
> (rowtype)

esta variable puede ser tratada como una tabla ?

No, es un registro de una tabla. (Row de fila)

> se le pueden hacer inserts, selects y updates

Si lo que queres es hacer inserts, updates y select a la variable del tipo
rowtype, no no se puede por lo que te dije anteriormente. No es una tabla.

existen otros manejadores que puede hacer eso

No comprendo bien a que te referis con manejadores

es posible en postgres?

Si, pero no con rowtype. Por que no usas la tabla directamente ?

Saludos

--
Agustin Casiva

casivaagustin(at)gmail(dot)com

http://www.osis.com.ar
http://www.casivaagustin.com.ar


From: "Pedro Mateo" <pedromateoa(at)gmail(dot)com>
To: "ayuda postgres" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Fwd: sobre rowtype
Date: 2007-06-05 13:43:59
Message-ID: [email protected]
Views: Whole Thread | Raw Message | Download mbox | Resend email
Lists: pgsql-es-ayuda

excuseme que no me explique muy bien
resulta que me he topado con el inconveniente que tienen las tablas
temporales en la funciones

se trata de que una tabla temporal no puede ser creadada ni referenciada en
una funcion a no ser que coloque el codigo en una variable de texto luego se
utilize execute

me gusta el open source y creo en el open source y se que no todo es color
de rosa
y este asunto de la funciones es una espina que me tiene tan fastidiado que
me he visto en la obligacion de tener que esperar la proxima version (8.3)
de postgres

he querido instalar 8.3 pero como no lo han liberado tengo que recurrir a
los archivos del proyecto y no entiendo ni j de eso

quisiera dedicarle mas tiempo pero trabajo en otro proyecto de 10 horas
diarios con foxpro y ms sqlserver ademas de que tengo familia y para dedicar
al open source tengo que hacer tiempo

el punto es que trabajando con sql server me percate que era posible
declarar una variable tipo table y definir la estructura de la tabla en la
misma declaracion de la variable

esta variable soportaba select, update, delete, insert

en sqlserver tambien existe un problema con las tablas temporales pero el
problema es que no se pueden crear desde funciones, sin embargo esta opcion
es una alternativa a las tablas temporales

esto me dio la esperanza de que quizas en postgres exista algo parecido y
las variables rowtype son lo que mas se me acerca a menos que exista otra
cosa

alguien puede aportar algo sobre esto?

gracias de antemano


From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Pedro Mateo <pedromateoa(at)gmail(dot)com>
Cc: ayuda postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Fwd: sobre rowtype
Date: 2007-06-05 14:05:07
Message-ID: [email protected]
Views: Whole Thread | Raw Message | Download mbox | Resend email
Lists: pgsql-es-ayuda

Pedro Mateo escribió:
> excuseme que no me explique muy bien
> resulta que me he topado con el inconveniente que tienen las tablas
> temporales en la funciones
>
> se trata de que una tabla temporal no puede ser creadada ni referenciada en
> una funcion a no ser que coloque el codigo en una variable de texto luego se
> utilize execute
>
> me gusta el open source y creo en el open source y se que no todo es
> color de rosa y este asunto de la funciones es una espina que me tiene
> tan fastidiado que me he visto en la obligacion de tener que esperar
> la proxima version (8.3) de postgres

Hay un monton de gente que usa tablas temporales en funciones con
EXECUTE, y si bien es cierto que es bastante molesto tener que ponerle
el famoso EXECUTE creo que descartar el uso de las versiones actuales de
Postgres solo por ese detalle es bastante exagerado.

> el punto es que trabajando con sql server me percate que era posible
> declarar una variable tipo table y definir la estructura de la tabla en la
> misma declaracion de la variable
>
> esta variable soportaba select, update, delete, insert

No puedes hacer eso en Postgres. Es mas, me parece una idea totalmente
absurda (mucho peor que el uso de tablas temporales en todo caso).

Si te gusta tanto MS SQL Server, siempre esta la alternativa de usar eso
y no Postgres.

--
Alvaro Herrera http://www.flickr.com/photos/alvherre/
"Por suerte hoy explotó el califont porque si no me habría muerto
de aburrido" (Papelucho)


From: "Pedro Mateo" <pedromateoa(at)gmail(dot)com>
To: "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>
Cc: "ayuda postgres" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Fwd: sobre rowtype
Date: 2007-06-05 15:56:38
Message-ID: [email protected]
Views: Whole Thread | Raw Message | Download mbox | Resend email
Lists: pgsql-es-ayuda

no estaria haciendo la pregunta si no estubiera MAS interesado en usar
postgres

por que te parece absurdo usar tablas temporales?

que solucion te parece mas optima que usar tablas temporales?

si tienes un proceso que en el que vas a retornas una consulta lo
suficientemente
elaborada como para tener que utilizar tablas temporales que usarias en vez
de ellas?

El día 5/06/07, Alvaro Herrera <alvherre(at)commandprompt(dot)com> escribió:
>
> Pedro Mateo escribió:
> > excuseme que no me explique muy bien
> > resulta que me he topado con el inconveniente que tienen las tablas
> > temporales en la funciones
> >
> > se trata de que una tabla temporal no puede ser creadada ni referenciada
> en
> > una funcion a no ser que coloque el codigo en una variable de texto
> luego se
> > utilize execute
> >
> > me gusta el open source y creo en el open source y se que no todo es
> > color de rosa y este asunto de la funciones es una espina que me tiene
> > tan fastidiado que me he visto en la obligacion de tener que esperar
> > la proxima version (8.3) de postgres
>
> Hay un monton de gente que usa tablas temporales en funciones con
> EXECUTE, y si bien es cierto que es bastante molesto tener que ponerle
> el famoso EXECUTE creo que descartar el uso de las versiones actuales de
> Postgres solo por ese detalle es bastante exagerado.
>
> > el punto es que trabajando con sql server me percate que era posible
> > declarar una variable tipo table y definir la estructura de la tabla en
> la
> > misma declaracion de la variable
> >
> > esta variable soportaba select, update, delete, insert
>
> No puedes hacer eso en Postgres. Es mas, me parece una idea totalmente
> absurda (mucho peor que el uso de tablas temporales en todo caso).
>
> Si te gusta tanto MS SQL Server, siempre esta la alternativa de usar eso
> y no Postgres.
>
> --
> Alvaro Herrera
> http://www.flickr.com/photos/alvherre/
> "Por suerte hoy explotó el califont porque si no me habría muerto
> de aburrido" (Papelucho)
>


From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Pedro Mateo <pedromateoa(at)gmail(dot)com>
Cc: ayuda postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Fwd: sobre rowtype
Date: 2007-06-05 16:14:00
Message-ID: [email protected]
Views: Whole Thread | Raw Message | Download mbox | Resend email
Lists: pgsql-es-ayuda

Pedro Mateo escribió:

> por que te parece absurdo usar tablas temporales?
>
> que solucion te parece mas optima que usar tablas temporales?

No dije eso. Dije que me parece absurdo guardar una tabla dentro de
otra.

> si tienes un proceso que en el que vas a retornas una consulta lo
> suficientemente
> elaborada como para tener que utilizar tablas temporales que usarias en vez
> de ellas?

Primero trataria de usar una subconsulta; si no se puede, una funcion; si
no se puede, una tabla temporal.

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.


From: "Pedro Mateo" <pedromateoa(at)gmail(dot)com>
To: "ayuda postgres" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Fwd: sobre rowtype
Date: 2007-06-05 16:51:42
Message-ID: [email protected]
Views: Whole Thread | Raw Message | Download mbox | Resend email
Lists: pgsql-es-ayuda

bueno
no se trata de una table dentro de otra
se trata de una variable que va hacer la de tabla temporal

la idea es que a falta de tabla tempora un tipo de variable que soporte
multiples registros y a la que se pueda hacer referencia con sentencias

ejemplo

declarar mivariable as table(codigo int,nombre varchar(50))
insert into mivariable select codigo,nombre from clientes
select * from mivariable
update mivariable set nombre=upper(nombre)
delete from mivariable


From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Pedro Mateo <pedromateoa(at)gmail(dot)com>
Cc: ayuda postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Fwd: sobre rowtype
Date: 2007-06-05 17:20:44
Message-ID: [email protected]
Views: Whole Thread | Raw Message | Download mbox | Resend email
Lists: pgsql-es-ayuda

Pedro Mateo escribió:

> la idea es que a falta de tabla tempora un tipo de variable que soporte
> multiples registros y a la que se pueda hacer referencia con sentencias
>
> ejemplo
>
> declarar mivariable as table(codigo int,nombre varchar(50))
> insert into mivariable select codigo,nombre from clientes
> select * from mivariable
> update mivariable set nombre=upper(nombre)
> delete from mivariable

Entiendo. No, no puedes hacer eso. Pero si puedes usar una tabla
temporal.

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support


From: "Pedro Mateo" <pedromateoa(at)gmail(dot)com>
To: "ayuda postgres" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Fwd: sobre rowtype
Date: 2007-06-05 19:27:42
Message-ID: [email protected]
Views: Whole Thread | Raw Message | Download mbox | Resend email
Lists: pgsql-es-ayuda

ok
gracias alvaro
de verdad gracias
lo que me dices me a puesto a pensar
tendre que abordar mis procesos desde otra perspectiva

El día 5/06/07, Alvaro Herrera <alvherre(at)commandprompt(dot)com> escribió:
>
> Pedro Mateo escribió:
>
> > la idea es que a falta de tabla tempora un tipo de variable que soporte
> > multiples registros y a la que se pueda hacer referencia con sentencias
> >
> > ejemplo
> >
> > declarar mivariable as table(codigo int,nombre varchar(50))
> > insert into mivariable select codigo,nombre from clientes
> > select * from mivariable
> > update mivariable set nombre=upper(nombre)
> > delete from mivariable
>
> Entiendo. No, no puedes hacer eso. Pero si puedes usar una tabla
> temporal.
>
> --
> Alvaro Herrera
> http://www.CommandPrompt.com/
> PostgreSQL Replication, Consulting, Custom Development, 24x7 support
>


From: "mario vargas careaga" <mario(dot)vargas(dot)careaga(at)gmail(dot)com>
To: "Pedro Mateo" <pedromateoa(at)gmail(dot)com>
Cc: "ayuda postgres" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Fwd: sobre rowtype
Date: 2007-06-05 20:16:37
Message-ID: [email protected]
Views: Whole Thread | Raw Message | Download mbox | Resend email
Lists: pgsql-es-ayuda

el punto es que trabajando con sql server me percate que era posible
declarar una variable tipo table y definir la estructura de la tabla en la
misma declaracion de la variable

---correcto pero es lo mismo que usar una tabla temporal

en sqlserver tambien existe un problema con las tablas temporales pero el
problema es que no se pueden crear desde funciones, sin embargo esta opcion
es una alternativa a las tablas temporales

mmmmm el sql server no tiene problemas para manejar tablas temporal dentro
de procedimientos almacenados.

yo me tope con el mismo problema de las tablas temporales y tb tengo stored
procedures en sql server q declaran una variable tipo tabla no te hagas lio
y manejalos como tablas temporales qeu es lo qeu yo hice y si no crea una
tabla con la misma estructura y antes de hacer cualquier operacion insert
update select etc hazle y delete de todas las rows anteriores y listo...

El día 5/06/07, Pedro Mateo <pedromateoa(at)gmail(dot)com> escribió:
>
> ok
> gracias alvaro
> de verdad gracias
> lo que me dices me a puesto a pensar
> tendre que abordar mis procesos desde otra perspectiva
>
>
> El día 5/06/07, Alvaro Herrera <alvherre(at)commandprompt(dot)com> escribió:
> >
> > Pedro Mateo escribió:
> >
> > > la idea es que a falta de tabla tempora un tipo de variable que
> > soporte
> > > multiples registros y a la que se pueda hacer referencia con
> > sentencias
> > >
> > > ejemplo
> > >
> > > declarar mivariable as table(codigo int,nombre varchar(50))
> > > insert into mivariable select codigo,nombre from clientes
> > > select * from mivariable
> > > update mivariable set nombre=upper(nombre)
> > > delete from mivariable
> >
> > Entiendo. No, no puedes hacer eso. Pero si puedes usar una tabla
> > temporal.
> >
> > --
> > Alvaro Herrera
> > http://www.CommandPrompt.com/ <http://www.commandprompt.com/>
> > PostgreSQL Replication, Consulting, Custom Development, 24x7 support
> >
>
>


From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: mario vargas careaga <mario(dot)vargas(dot)careaga(at)gmail(dot)com>
Cc: Pedro Mateo <pedromateoa(at)gmail(dot)com>, ayuda postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Fwd: sobre rowtype
Date: 2007-06-05 20:48:24
Message-ID: [email protected]
Views: Whole Thread | Raw Message | Download mbox | Resend email
Lists: pgsql-es-ayuda

mario vargas careaga escribió:

> yo me tope con el mismo problema de las tablas temporales y tb tengo stored
> procedures en sql server q declaran una variable tipo tabla no te hagas lio
> y manejalos como tablas temporales qeu es lo qeu yo hice y si no crea una
> tabla con la misma estructura y antes de hacer cualquier operacion insert
> update select etc hazle y delete de todas las rows anteriores y listo...

Un comentario ... si quieres borrar todas las filas de una tabla es
mejor usar TRUNCATE.

--
Alvaro Herrera Valdivia, Chile ICBM: S 39º 49' 18.1", W 73º 13' 56.4"
"A wizard is never late, Frodo Baggins, nor is he early.
He arrives precisely when he means to." (Gandalf, en LoTR FoTR)


From: "Edwin Quijada" <listas_quijada(at)hotmail(dot)com>
To: pedromateoa(at)gmail(dot)com
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Fwd: sobre rowtype
Date: 2007-06-06 19:31:50
Message-ID: [email protected]
Views: Whole Thread | Raw Message | Download mbox | Resend email
Lists: pgsql-es-ayuda


Oye si ese es el problema crea una tabla normal y despues q termine borrala.
NO te complique stanto.
Yo me encontre con ese problema en 7.4 y lo resolvi asi , es mas aun
funciona asi.

*-------------------------------------------------------*
*-Edwin Quijada
*-Developer DataBase
*-JQ Microsistemas
*-809-747-2787
* " Si deseas lograr cosas excepcionales debes de hacer cosas fuera de lo
comun"
*-------------------------------------------------------*

>From: "Pedro Mateo" <pedromateoa(at)gmail(dot)com>
>To: "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>
>CC: "ayuda postgres" <pgsql-es-ayuda(at)postgresql(dot)org>
>Subject: Re: [pgsql-es-ayuda] Fwd: sobre rowtype
>Date: Tue, 5 Jun 2007 11:56:38 -0400
>
>no estaria haciendo la pregunta si no estubiera MAS interesado en usar
>postgres
>
>por que te parece absurdo usar tablas temporales?
>
>que solucion te parece mas optima que usar tablas temporales?
>
>si tienes un proceso que en el que vas a retornas una consulta lo
>suficientemente
>elaborada como para tener que utilizar tablas temporales que usarias en vez
>de ellas?
>
>
>
>El día 5/06/07, Alvaro Herrera <alvherre(at)commandprompt(dot)com> escribió:
>>
>>Pedro Mateo escribió:
>> > excuseme que no me explique muy bien
>> > resulta que me he topado con el inconveniente que tienen las tablas
>> > temporales en la funciones
>> >
>> > se trata de que una tabla temporal no puede ser creadada ni
>>referenciada
>>en
>> > una funcion a no ser que coloque el codigo en una variable de texto
>>luego se
>> > utilize execute
>> >
>> > me gusta el open source y creo en el open source y se que no todo es
>> > color de rosa y este asunto de la funciones es una espina que me tiene
>> > tan fastidiado que me he visto en la obligacion de tener que esperar
>> > la proxima version (8.3) de postgres
>>
>>Hay un monton de gente que usa tablas temporales en funciones con
>>EXECUTE, y si bien es cierto que es bastante molesto tener que ponerle
>>el famoso EXECUTE creo que descartar el uso de las versiones actuales de
>>Postgres solo por ese detalle es bastante exagerado.
>>
>> > el punto es que trabajando con sql server me percate que era posible
>> > declarar una variable tipo table y definir la estructura de la tabla en
>>la
>> > misma declaracion de la variable
>> >
>> > esta variable soportaba select, update, delete, insert
>>
>>No puedes hacer eso en Postgres. Es mas, me parece una idea totalmente
>>absurda (mucho peor que el uso de tablas temporales en todo caso).
>>
>>Si te gusta tanto MS SQL Server, siempre esta la alternativa de usar eso
>>y no Postgres.
>>
>>--
>>Alvaro Herrera
>>http://www.flickr.com/photos/alvherre/
>>"Por suerte hoy explotó el califont porque si no me habría muerto
>>de aburrido" (Papelucho)
>>

_________________________________________________________________
Consigue aquí las mejores y mas recientes ofertas de trabajo EE.UU.
http://latino.msn.com/empleos