Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/02/2011, 12:22
nessemar
 
Fecha de Ingreso: noviembre-2010
Mensajes: 30
Antigüedad: 13 años, 5 meses
Puntos: 0
POstGis // Error 42P01:UNDEFINED TABLE

Buenas, tengo el siguiente problema:

Pretendo crear la siguiente función que elimine aquellos registros de la primera tabla que "espacialmente" existan en la segunda tabla (comparo sus columnas geométricas)

Código:
CREATE OR REPLACE FUNCTION srmdiferencia_espacial(text, text)
  RETURNS text AS
$BODY$
/*Elimina de $1 aquellas entidades que es coincidan espacialmente con $2*/
DECLARE
	ret text;

BEGIN
   ret='OK';
   EXECUTE 'DELETE from '||$1||' WHERE ST_Equals('||$1||'.geom,'||$2||'.geom) = ''true''';
RETURN ret;
END;
$BODY$
  LANGUAGE 'plpgsql' VOLATILE STRICT
  COST 100;
ALTER FUNCTION srmdiferencia_espacial(text, text) OWNER TO postgres;
El caso es que me salta el siguiente error:

ERROR: falta una entrada para la tabla «vertexline_ferrocarril» en la cláusula FROM
SQL state: 42P01
Context: PL/pgSQL function "srmdiferencia_espacial" line 7 at sentencia EXECUTE


donde «vertexline_ferrocarril» es el resultado de sustituir $2 por el valor introducido en el segundo parámetro de la llamada a la función.

¿Alguien sabe decirme cual es el problema y/o proponerme una solución?. Gracias de antemano.