TENGO un procedimiento almacenado con ciclos o loops anidados, y este no retorna ningun valor, el procediento me lo deja crear sin problema pero cuando lo ejecuto no me genera un error.
El objetivo de este es actualizar los datos de 2 columnas de una tabla si y solo si hay datos para esa columna.
estoy viendo en:
http://www.postgresql.org/docs/8.0/s...tructures.html, en la seccion
35.7.4. Looping Through Query Results un ejemplo para guiarme.
Mi codigo:
Código PL/PGSQL:
Ver originalCREATE OR REPLACE FUNCTION p_update_locales_in_count() RETURNS boolean AS $BODY$
DECLARE
query_count RECORD;
query_has_locales RECORD;
query_locale RECORD;
BEGIN
FOR query_count IN SELECT neighborhood_code,city_code FROM conteo_manzanas_barrio_co LOOP
FOR query_has_locales IN SELECT has_locales FROM sm_city WHERE pk_city = query_count.city_code.city_code LOOP
IF query_locales.has_locales THEN
SELECT pk_locale,name FROM sm_locale WHERE fk_pk_city = query_count.city_code;
UPDATE conteo_manzanas_barrio_co
SET locale_code = pk_locale, locale_name = name
WHERE neighborhood_code = query_count.neighborhood_code;
END IF;
END LOOP;
END LOOP;
RETURNS TRUE;
END $BODY$
LANGUAGE plpgsql;
Y EL ERROR QUE BOTA ES:
Código ERROR:
Ver original[COLOR="Red"][SIZE="3"][FONT="Comic Sans MS"]
Error de SQL:
ERROR: schema "query_count" does not exist
CONTEXT: SQL statement " SELECT has_locales FROM sm_city WHERE pk_city = query_count.city_code.city_code"
PL/pgSQL function "p_update_locales_in_count" line 8 at for over select rows
En la declaración:
SELECT * FROM p_update_locales_in_count()[/FONT][/SIZE][/COLOR]
¿EN SINTESIS QUE TIENE DE MALO MI PROCEDIMIENTO, ES ESA LA FORMA CORRECTA DE LLAMARLO?