elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  Donde ubicar columnas que retorna una Funcion de Postgres
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Donde ubicar columnas que retorna una Funcion de Postgres  (Leído 8,543 veces)
Hadess_inf
Desesperado
Colaborador
***
Desconectado Desconectado

Mensajes: 2.048


Nueva Vida


Ver Perfil WWW
Donde ubicar columnas que retorna una Funcion de Postgres
« en: 24 Mayo 2011, 18:04 pm »

Alquien sabe en que tabla encontrar los nombres y tipo de dato que retorna una FUNCION de POSTGRESQL ¿?

Saludos

Edito: En information_schema.routines encuentro las funciones creadas ... pero no se donde buscar los campos (con sus respectivos tipos de datos) que retorna. Ademas decir que en la tabla information_schema.columns solo se encuentra los campos de las tablas mas no de las funciones.


« Última modificación: 24 Mayo 2011, 18:22 pm por Hadess_inf » En línea

Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.336

he vuelto :)


Ver Perfil WWW
Re: Donde ubicar columnas que retorna una Funcion de Postgres
« Respuesta #1 en: 24 Mayo 2011, 18:28 pm »

supongo que en la tabla de la documentacion x'D

http://www.postgresql.org/docs/9.0/static/functions-info.html
http://www.postgresql.org/docs/9.0/static/functions-admin.html
http://www.postgresql.org/docs/9.0/static/functions-datetime.html

todo esto tomado de:
http://www.postgresql.org/docs/9.0/static/functions.html


En línea

Ojo por ojo, y el mundo acabará ciego.
Hadess_inf
Desesperado
Colaborador
***
Desconectado Desconectado

Mensajes: 2.048


Nueva Vida


Ver Perfil WWW
Re: Donde ubicar columnas que retorna una Funcion de Postgres
« Respuesta #2 en: 25 Mayo 2011, 00:16 am »

Se agradece la informacion, esta buena la documentacion, pero lo que busco no son funciones sino recuperar los nombres de las columnas que retorna una funcion ( equivalente de procedimiento en otros gestores ) ...

Gracias. y Saludos.
En línea

Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.336

he vuelto :)


Ver Perfil WWW
Re: Donde ubicar columnas que retorna una Funcion de Postgres
« Respuesta #3 en: 25 Mayo 2011, 02:02 am »

pues en information_schema.routines data_type y routine_definition probablemente te sirvan

fuente: http://www.postgresql.org/docs/9.0/static/infoschema-routines.html
« Última modificación: 25 Mayo 2011, 02:03 am por Nakp » En línea

Ojo por ojo, y el mundo acabará ciego.
Hadess_inf
Desesperado
Colaborador
***
Desconectado Desconectado

Mensajes: 2.048


Nueva Vida


Ver Perfil WWW
Re: Donde ubicar columnas que retorna una Funcion de Postgres
« Respuesta #4 en: 25 Mayo 2011, 02:07 am »

edito: Error   :-X :-X :-X

Napk : en INFORMATION_SCHEMA.routines encuentro la informacion de la funcion, pero lo que necesito es saber que campos retorna ... Gracias por la ayuda

Lo que si encontre en una pagina de la tabla
INFORMATION_SCHEMA.routines_Columns pero al parecer en el postgres no esta implementada.

Bien lo encontre pero ahora tengo un problema, la info se encuentra en

INFORMATION_SCHEMA.routines_Columns

Al ejecutar la consulta

select * from INFORMATION_SCHEMA.routines Columns

Todo anda bien, el problema es que si la uso dentro de un inner join me salta error ( es obvio porque el nombre de la tabla esta separada ... alguna idea de como solucionar esto ¿?
« Última modificación: 25 Mayo 2011, 02:19 am por Hadess_inf » En línea

Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.336

he vuelto :)


Ver Perfil WWW
Re: Donde ubicar columnas que retorna una Funcion de Postgres
« Respuesta #5 en: 25 Mayo 2011, 02:24 am »

que querra decir esto entonces? :silbar:

data_type
character_data
Return data type of the function, if it is a built-in type, or ARRAY if it is some array (in that case, see the view element_types), else USER-DEFINED (in that case, the type is identified in type_udt_name and associated columns).
type_udt_name
sql_identifier
Name of the return data type of the function


damn solo es el tipo, no el nombre de la columna
« Última modificación: 25 Mayo 2011, 02:28 am por Nakp » En línea

Ojo por ojo, y el mundo acabará ciego.
Hadess_inf
Desesperado
Colaborador
***
Desconectado Desconectado

Mensajes: 2.048


Nueva Vida


Ver Perfil WWW
Re: Donde ubicar columnas que retorna una Funcion de Postgres
« Respuesta #6 en: 25 Mayo 2011, 02:46 am »

Código
  1. CREATE OR REPLACE FUNCTION usp_lista_articulos()
  2.  RETURNS SETOF record AS
  3. $BODY$
  4. DECLARE lr_ret record;
  5. BEGIN
  6. FOR lr_ret IN
  7. SELECT codigo, nombre FROM articulo
  8.   LOOP
  9. RETURN NEXT lr_ret;
  10. END LOOP;
  11. RETURN;
  12. END;$BODY$
  13.  LANGUAGE plpgsql VOLATILE
  14.  

Hacemos un select a information_schema.routines


1) data_type: record .. OK .. estoy de acuerdo contigo.
2) sql_identifier: record .. OK.. tambien estoy de acuerdo.

Conclusion: Ninguno me sirve porque lo que yo deseo saber es :

a) codigo, nombre ademas de sus tipos de datos ( respectivamente ).

Gracias por tomarte el tiempo para responder.
Saludos.

PD: Sigo buscando una solucion.
En línea

Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.336

he vuelto :)


Ver Perfil WWW
Re: Donde ubicar columnas que retorna una Funcion de Postgres
« Respuesta #7 en: 25 Mayo 2011, 05:10 am »

mmmm pero si ya te mencione antes routine_definition xD ese devuelve el codigo completo de la funcion :P
En línea

Ojo por ojo, y el mundo acabará ciego.
Hadess_inf
Desesperado
Colaborador
***
Desconectado Desconectado

Mensajes: 2.048


Nueva Vida


Ver Perfil WWW
Re: Donde ubicar columnas que retorna una Funcion de Postgres
« Respuesta #8 en: 30 Mayo 2011, 16:48 pm »

Bueno se cierto .. pero entonces ahora como hago para saber que tipo de dato retorna cada columna ... porque .. imaginemos que son varias consultas con varios union all .... alquien tiene alguna idea  ¿ ?

Saludos.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines