Você está pensando procedimentalmente, enquanto na maioria dos casos uma abordagem baseada em conjunto é superior em bancos de dados relacionais. Curti:
INSERT INTO table_other (point, polygon, result)
SELECT a.name, b.name, calculate(a.?, b.?) AS result -- undefined what to do
FROM table_point a
JOIN table_polygon b ON ST_Intersects(a.way, b.way)
WHERE a.name = 'Berlin';