如何批删除下属记录为空的书目记录 - DigitalPlatform/dp2 GitHub Wiki
此操作需要操作者具备managedatabase权限
批量删除下属记录为空的书目记录分为几步:
- 初步筛选删除的书目记录,并将这些记录移动到一个临时书目库。
- 在临时库中确定哪些记录需要删除
- 批删除
如何创建书目库
1.创建一个的非流通临时书目库,例如命名为“待删除记录库”。具体步骤参见文档注:此处强调这个临时书目库须要具有实体子库。如果用户想要保留具有订购记录或者评注记录的书目,临时库还要具有订购子库和评注子库;如果所删除的是期刊书目,想要保留具有期信息的记录,还须要具有期字库。用户在创建临时库之前需要对此全面考量
2. 初步筛选出需要确认的书目记录,并移动这些记录到临时库,以筛选册记录为空的记录为例。
在【常用窗口】-【书目查询窗】中先检索出待筛查的书目记录。选择这些记录后,单击鼠标右键,从右键菜单里选择【标记出下级记录为空的事项】-【册记录为空】,系统在现有的检索结果中,以淡灰色标记出记录为空的记录(目前系统所标记的颜色很浅,用户需要仔细辨识)。
用户在任意一条已标记的记录上单击鼠标右键,此时所有已标定的记录显示为明显的蓝色背景(注意这里是单击右键,如果单击左键,则只会选中当前选择的记录)。
从右键菜单里选择【批处理】-【移动到其他书目库】,系统弹出【移动书目记录到数据库】对话框。提示用户此操作会将书记录下所有的实体,对象,订购等信息全部移动过去(注:如果临时库不具有某些子库,比如订购字库,系统移动记录时将无法将订购信息移动到临时库)。用户在从【书目库名】下拉列表中选择临时库的书目库名,【记录id】一栏保持为?(表示移动过去的记录会作为追加记录到该库),点击【确定】按钮。系统移动书目记录。
3. 确认待删除书目记录
在【书目查询窗】检索出“待删除记录库”的所有记录,双击第一条记录,进入对应的【种册窗】,将【种册窗】下面的标签属性页切换到【册】和【对象】子界面,查看该页是否有记录(用户如果想保留订购,评注信息,还须要切换到【订购】,【评注】子界面进行确认);
一种书确认完没有需要保存记录之后,点击种册窗工具条右侧的向下的小三角,种册窗显示为下一书目记录的详细信息,用户确认各子界面是否都没有记录...以此类推确认完所有书目。
如果在检查过程中发现某记录下带有需要保留的信息,不能删除,则需要及时把当前书目记录移动回原来的书目库。
具体操作是:点击【种册窗】工具条上的【移动书目记录】按钮,系统弹出【移动书目记录到...】对话框,用户在从【书目库名】下拉列表中选择目标库的书目库名,【记录id】一栏保持为?(表示移动过去的记录会作为追加记录到该库),点击【确定】按钮。系统移动书目记录。
4. 删除书目记录
经过以上操作,在“待删除记录库”中只剩下可以删除的书目记录了。用户选择剩下的所有记录,单击右键,从右键菜单选择【批处理】-【删除书目记录】命令,系统弹出提示框提示是否确认删除,点击【确定】按钮,系统删除选定的书目记录,并提示“记录删除成功”。
补充
一般情况下,未经确认,不要直接在【书目查询】窗删除书目记录。
零星删除书目记录时,可直接在【种册】窗确认没有下级记录之后,点击【种册】窗工具条上T字图标右侧第一个以X图标显示的“删除”按钮。如果当前书目记录下没有子记录,系统提示“确实要删除书目记录***?”,点击【确定】后就可用删除。
由于删除书目同时删除下级子记录需要client_deletebibliosubrecords权限,如果用户不具备该权限,删除具有下属子记录的书目时,系统会提示“书目记录含有下级子记录,当前用户并不具备client_deletebibliosubrecords权限,无法删除”,该记录无法直接删除。如果一定要删除的话,需要先删除下级子记录以后,才能删除书目记录。
如果用户具有client_deletebibliosubrecords权限,删除具有下属子记录的书目时,系统会提示“确实要删除书目记录和下属的*个册/订购/评注子记录?”,点击【确定】后,系统提示“书目记录**和下属的子记录删除成功”,该书目以及相关子记录从系统彻底删除。
client_deletebibliosubrecords权限一般不要配置,即使是系统的高级管理员,配置这个权限之后也有可能误删书目及下级子记录。