move call numbers from to be deleted org to undeleted org when the copy is at an...
[migration-tools.git] / remove_ou_data / 07_remove_volumes.sql
index 0447e2a..edea650 100644 (file)
@@ -39,6 +39,14 @@ FROM asset.call_number WHERE owning_lib IN
 DELETE FROM asset.call_number WHERE owning_lib IN
 (SELECT (actor.org_unit_descendants(id)).id from actor.org_unit where shortname = :ou_to_del);
 
+UPDATE asset.call_number acn SET owning_lib = ac.circ_lib 
+FROM asset.copy ac 
+WHERE ac.call_number = acn.id
+AND acn.owning_lib IN
+(SELECT (actor.org_unit_descendants(id)).id from actor.org_unit where shortname = :ou_to_del)
+AND acn.id IN
+(SELECT call_number FROM asset.copy WHERE circ_lib NOT IN 
+    (SELECT (actor.org_unit_descendants(id)).id from actor.org_unit where shortname = :ou_to_del));
 
 COMMIT;