Saludos Estoy buscando implementar una función y en las pruebas me encontré con la siguiente duda, tengo la siguiente vista:
CREATE VIEW menu_permisos AS SELECT menu.etiqueta, menu.mascara, menu.id_padre, menu.etiqueta_padre, menu.mascara_padre, menu.visible, menu.accion, usuario_menu.id_usuario FROM (menu JOIN usuario_menu ON ((menu.id = usuario_menu.id_menu))) WHERE (menu.activo = true) ORDER BY menu.posicion, menu.etiqueta; La consulto: SELECT * FROM menu_permisos WHERE id_usuario = x; // siendo x un id válido y me devuelve correctamente la salida. Creo la siguiente función, que lee la vista: CREATE OR REPLACE FUNCTION consultar_menu(id_usuario int) RETURNS SETOF menu_permisos AS ' DECLARE r cc1.menu_permisos%rowtype; BEGIN RETURN QUERY SELECT * FROM cc1.menu_permisos WHERE id_usuario = $1; END; ' LANGUAGE plpgsql; Que, al hacer SELECT * FROM consultar_menu(x); debería devolverme los mismos resultados que la vista, para el mismo valor de x, pero no se cumple, me devuelve todos los valores existentes en la tabla. Sí, la función la creo, con la sentencia de la vista directa, y no consultado la vista: CREATE OR REPLACE FUNCTION crear_menu(uid int) RETURNS SETOF menu_permisos AS ' DECLARE r menu_permisos%rowtype; BEGIN RETURN QUERY SELECT menu.etiqueta, menu.mascara, menu.id_padre, menu.etiqueta_padre, menu.mascara_padre, menu.visible, menu.accion, usuario_menu.id_usuario FROM menu JOIN usuario_menu ON menu.id = usuario_menu.id_menu WHERE menu.activo = true AND id_usuario = $1 ORDER BY menu.posicion, menu.etiqueta; END; ' LANGUAGE 'plpgsql'; entonces sí funciona... A qué se debe? Gracias de antemano -- -- Sí no eres parte de la solución... eres parte del problema. -- ... y no dejes de leer: Netiqueta: Conjunto de reglas que regulan la conducta del usuario en internet http://es.wikibooks.org/wiki/Netiquette -- Cesar A. Carbonara R. C.I. Nº V.11.952.572 -- Usuario Linux 377997 www.gulmer.org.ve - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda