Mis tablas
Código SQL:
Este es mi procedureVer original
CREATE TABLE cfg_ima_rutas ( id INTEGER NOT NULL DEFAULT NEXTVAL('ima_rutas_id_seq'::regclass), ruta text, tipo INTEGER, porcentaje INTEGER, marca INTEGER ) CREATE TABLE cfg_ima_marcas ( id INTEGER NOT NULL DEFAULT NEXTVAL('cfg_ima_marcas_id_seq'::regclass), ruta text, proporcion INTEGER )
Código SQL:
Ver original
CREATE OR REPLACE FUNCTION prueba(IN id_num INTEGER) RETURNS TABLE(ruta text, tipo INTEGER, porcentaje INTEGER, marca INTEGER) AS 'DECLARE marca_opcion integer; BEGIN marca_opcion="SELECT cfg_ima_rutas.marca FROM cfg_ima_rutas WHERE cfg_ima_rutas.id="||id_num; IF(marca_opcion>0) THEN RETURN QUERY SELECT cfg_ima_rutas.ruta, cfg_ima_rutas.tipo, cfg_ima_rutas.porcentaje, cfg_ima_rutas.marca, cfg_ima_marcas.ruta, cfg_ima_marcas.proporcion FROM cfg_ima_marcas JOIN cfg_ima_rutas ON (cfg_ima_marcas.id = cfg_ima_rutas.marca) WHERE cfg_ima_rutas.id=id_num; ELSE RETURN QUERY SELECT cfg_ima_rutas.ruta, cfg_ima_rutas.tipo, cfg_ima_rutas.porcentaje, cfg_ima_rutas.marca FROM cfg_ima_rutas WHERE cfg_ima_rutas.id=id_num; END IF; END;' LANGUAGE plpgsql
no me da errores ni al insertar las tablas ni el procedure, solo cuando ejecuto el procedure
Código SQL:
Ver original
SELECT prueba('5');
Código BASH:
Ver original
ERROR: column "SELECT cfg_ima_rutas.marca FROM cfg_ima_rutas WHERE cfg_ima_rut" does not exist LINE 1: SELECT "SELECT cfg_ima_rutas.marca FROM cfg_ima_rutas WHERE ... ^ QUERY: SELECT "SELECT cfg_ima_rutas.marca FROM cfg_ima_rutas WHERE cfg_ima_rutas.id="||id_num CONTEXT: PL/pgSQL function prueba(integer) line 4 at assignment