move call numbers from to be deleted org to undeleted org when the copy is at an...
authorRogan Hamby <rhamby@esilibrary.com>
Mon, 17 Oct 2016 16:03:20 +0000 (12:03 -0400)
committerRogan Hamby <rhamby@esilibrary.com>
Mon, 17 Oct 2016 16:03:20 +0000 (12:03 -0400)
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;