buenas a todos
tengo un store procedure y en el estoy borrando un campo de muchas tablas. pero no todas las tablas tienen este campo, por lo tanto me genera error.
necesito atrapar este error de tal modo que me permita seguir con el resto de las tablas hasta que acabe.
Lastimosamente no entendi mucho la documentacion :(
ESTO ES LO QUE TENGO
Código SQL:
Ver originalCREATE OR REPLACE FUNCTION p_shops_subtables_geoindex(CHARACTER VARYING)
RETURNS VOID AS
$BODY$
DECLARE
rec RECORD;
shop_table ALIAS FOR $1;
BEGIN
FOR rec IN EXECUTE 'SELECT DISTINCT codigo_categoria FROM '||shop_table LOOP
EXECUTE 'ALTER TABLE '||shop_table||'_'||rec.codigo_categoria||' DROP COLUMN geom';
EXCEPTION WHEN undefined_column THEN
-- do nothing
END;
EXECUTE 'SELECT AddGeometryColumn ('||QUOTE_LITERAL(shop_table||'_'||rec.codigo_categoria)||','||QUOTE_LITERAL('geom')||',4326,'||QUOTE_LITERAL('POINT')||',2)';
EXECUTE 'UPDATE '||shop_table||'_'||rec.codigo_categoria||' set geom = GeometryFromText(''POINT(''||CX||'' ''||CY||'')'',4326)';
EXECUTE 'CREATE INDEX idx_info2009_'||rec.codigo_categoria||' ON '||shop_table||'_'||rec.codigo_categoria||' USING GIST (geom)';
END LOOP;
RETURN;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;