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 original
CREATE 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;