Estoy tratando de hacer una consulta y dependiendo de su resultado, hacer una u otra (segunda) consulta... todo dentro de una función, tal como:
Código:
Pero... seguro, no es así... de entrada me da error de sintaxis:CREATE OR REPLACE FUNCTION consultar_menu(id_usuario int) RETURNS SETOF menu_permisos AS $$ DECLARE e boolean; r menu_permisos%rowtype; BEGIN e := $S$ SELECT * FROM cc1.usuarios WHERE id = $1$S$; IF e.primerizo = true THEN RETURN QUERY SELECT * FROM menu_permisos WHERE id_usuario = $1 AND menu.id < 10; ELSE RETURN QUERY SELECT * FROM menu_permisos WHERE id_usuario = $1; END IF; END; $$ LANGUAGE plpgsql;
Código:
ERROR: la sintaxis de entrada no es válida para tipo boolean: « SELECT * FROM cc1.usuarios WHERE id = $1» CONTEXT: PL/pgSQL function "consultar_menu" line 6 at assignment