2009/4/21 ALFONSO REYES <alfonsoreyesc...@hotmail.com>: > > 1) Una estructura de type con los tipos que retorna la función > CREATE TYPE "danmaf"."ty_gen_obt_estab_punto" AS ( > "establecimiento" VARCHAR, > "punto" VARCHAR, > "autorizacion" VARCHAR > ); > > 2) Cambiar el función como se muestra a continuación, es decir referncia al > nuevo tipo creado > CREATE OR REPLACE FUNCTION "danmaf"."gen_obt_estab_punto" (p_id_empresa > integer, p_unidad_adm varchar) RETURNS SETOF > "danmaf"."ty_gen_obt_estab_punto" AS
bu! eso es pre-historico... la forma actual de hacer esto es: CREATE OR REPLACE FUNCTION "danmaf"."gen_obt_estab_punto" (p_id_empresa integer, p_unidad_adm varchar, OUT "establecimiento" VARCHAR, OUT "punto" VARCHAR, OUT "autorizacion" VARCHAR) RETURNS SETOF RECORD AS > La manera de ejecutar desde consola es: > select * from "danmaf"."gen_obt_estab_punto" (4, '1'); > lo que te muestro arriba lo ejecutas exactamente igual... > No está por demás indicar que cuando una función es de tipo set of y > devuelve un record, no hay poder humano para ejecutarlo como indica el > manual: > select * from "danmaf"."gen_obt_estab_punto" (4, '1') resp(col1, char,col2 > char, col3 char); ==> ESTO NO FUNCIONA NO PIERDAN TIEMP AL MENOS EN POSTGRES > 8.3 NO FUNCIONA > Si esa es la consulta exacta que trataste de ejecutar es natural que no funcione, no porque la documentación sea incorrecta (no digo que en la documentacion nunca se haya escapado un ejemplo incorrecto pero este no es el caso) sino porque esta mal escrita: si te diste cuenta que en la definicion de los campos a devolver tienes una coma (,) entre col1 y char? por cierto, no deberias haber usado varchar aqui? > > Nota.- No se como mandar un mail sin formato Html... > Configuras tu cliente de correo para que no envie formato html -- Atentamente, Jaime Casanova Soporte y capacitación de PostgreSQL Asesoría y desarrollo de sistemas Guayaquil - Ecuador Cel. +59387171157 -- TIP 4: No hagas 'kill -9' a postmaster