das mit dem ds merken ist deswegen problematisch, weil es sein kann, dass die zusammengehörenden ds in der tabelle ganz weit auseinanderliegen...
Verstehe ich nicht. Angenommen, Du hast einen DS mit der ID 10 und einem FK auf ID 42. Dann machst Du ein INSERT INTO mit RETURNING, merkst Dir die zurückgegebene ID, kopierst den referenzierten DS, merkst Dir auch dessen ID und machst dann ein Update der ersten Tabelle, indem Du den FK auf den gerade gemerkten setzt. Dabei ist es doch wurscht, wie weit die auseinander liegen.