Saludos
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:
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;
Pero... seguro, no es así... de entrada me da error de sintaxis:
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