From: | anthony <asotolongo(at)uci(dot)cu> |
---|---|
To: | "Ivan Perales M(dot)" <ivan(dot)perales(at)gmail(dot)com>, Ayuda Esp PostgreSQL <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Array de Objects en una funcion |
Date: | 2014-09-12 18:56:10 |
Message-ID: | 541341CA.90500@uci.cu |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola Ivan, si entendí bien lo que vas a devolver siempre es (impuesto,
valor)
entonces pudieras crear un tipo de dato para esa función:
create type tu_tipo as (impuesto character varying, valor double))
y luego defines tu_funcion de ese tipo o un arreglo de ese tipo.
saludos
El 11/09/14 a las #4, Ivan Perales M. escribió:
> Hola buenas noches.
>
> Estoy batallando con un escenario. Estoy migrando una base de datos de
> H2 database a postgresql ya que en algunas ocasiones falla por razones
> que no he podido debugear y como el tiempo es oro decidi a cambiar de
> base.
>
> Todo muy bien excepto por una funcion que escribi, la cual hace lo
> siguiente:
>
> Tengo una tabla con facturas, y cada factura tiene diferentes
> impuestos. Así una factura puede no tener impuestos, otras pueden
> tener 1 o 2 o 3 o N impuestos.
>
> Entonces tengo una tabla con impuestos y tengo otra tabla intermedia
> donde relaciono la factura con sus impuestos. Como las facturas las
> muestro en un paginador, hago un query como:
>
> select *, myfuncion('select impuesto, valor from tabla_intermedia
> where fac_id =' || id) from factura...
>
> myfuncion se encarga de ejecuta el query que indico, el cual como ven
> retorna dos valores por cada impuesto, la clave del impuesto y el
> valor del mismo. La funcion creada en h2 database se encarga de crear
> un array y retornarlo. Por ejemplo si una factura tiene 2 impuestos:
> el valor resultante seria: {'impuesto1', 1243.23, 'Impuesto2',
> 543.43}. Este resultado lo proceso y lo muestra en una tabla.
>
> Estoy tratando de crear esta misma funcionalidad en plpgsql, del cual
> soy completamente nuevo. Estube leyendo algo pero me surgio la
> siguiente duda: al crear la funcion necesito declarar el tipo de dato
> a regresar, pero seria un tipo de dato object por que van valores
> alfabeticos y numericos, y no encontre como poder usar este tipo de
> dato. Alguien de ustedes sabe como declarar el valor de retorno en la
> funcion? y aventurarme un poco mas, retornar un array bidimensional
> algo como:
> {{'Impuesto1', 1243.23}
> {'Impuesto2', 543.43}}
>
> No importa mucho la manera en que se retorne, puedo actualizar la
> aplicacion, lo importante es que obtenga la información.
>
> Saludos y gracias por su tiempo
>
> --
> Lindolfo Iván Perales Mancinas
> Solo existen 10 tipos de personas en el mundo, las que saben binario y
> las que no.
Concurso "Mi selfie por los 5". Detalles en http://justiciaparaloscinco.wordpress.com
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripcin:
http://www.postgresql.org/mailpref/pgsql-es-ayuda
From | Date | Subject | |
---|---|---|---|
Next Message | Ivan Perales M. | 2014-09-12 19:17:47 | Re: Array de Objects en una funcion |
Previous Message | Ivan Perales M. | 2014-09-12 00:50:12 | Array de Objects en una funcion |