Ver Mensaje Individual
  #19 (permalink)  
Antiguo 30/03/2011, 13:54
Avatar de huesos52
huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 10 meses
Puntos: 360
Respuesta: plpgsql: filtrar una consulta según otra consulta

raro raro...

hazlo así:

Código SQL:
Ver original
  1. CREATE OR REPLACE FUNCTION consultar_menu(id_usuario INT) RETURNS SETOF menu_permisos AS $$
  2.  DECLARE
  3.    e record;
  4.    SQL text;
  5.  BEGIN
  6.  SELECT INTO e primerizo FROM cc1.usuarios WHERE id = $1;
  7.   IF e.primerizo = TRUE THEN
  8.      SQL := 'SELECT *FROM menu_permisos WHERE id_usuario = ' || $1  || ' AND id_menu < 10';
  9.    ELSE
  10.      SQL := 'SELECT * FROM menu_permisos WHERE id_usuario = ' || $1;
  11.    END IF;
  12.    RETURN QUERY EXECUTE SQL;
  13.  END;
  14. $$ LANGUAGE plpgsql;
__________________
Without data, You are another person with an opinion.
W. Edwads Deming