HEX
Server: Apache/2.2.15 (CentOS)
System: Linux ip-10-0-2-146.eu-west-1.compute.internal 2.6.32-754.35.1.el6.centos.plus.x86_64 #1 SMP Sat Nov 7 11:33:42 UTC 2020 x86_64
User: root (0)
PHP: 5.6.40
Disabled: NONE
Upload Files
File: /www/exchange0old/sql/custom/delete-credebtor-data.sql
/* script to delete multiple test Credebtors from Exchange 2.0 database */

/* comma separated list of long Credebtor Reference IDs */
SET @credebtor_reference_id_list = '20211130007664,20190903006411,20190903006417,20190903006416,20190903006415,20190903006414,20190903006413,20190903006412,20210204007449,20171114004169,20190206006115,20190611006224,20190828006401,20190828006403,20190829006405,20190527006209';

/* get short credebtor ID for the selected Credebtor(s) using {long} Credebtor ID(s) */
SELECT @credebtor_id_list := GROUP_CONCAT(debtor_id) FROM debtors_detail WHERE FIND_IN_SET(debtor_reference_id, @credebtor_reference_id_list);

/* get credebtor address id(s) */
SELECT @address_id_list := GROUP_CONCAT( aid ) 
FROM (
	SELECT address_id as aid FROM debtors_detail WHERE FIND_IN_SET(debtor_id, @credebtor_id_list) 
	UNION SElECT billing_address_id as aid FROM debtors_detail WHERE FIND_IN_SET(debtor_id, @credebtor_id_list) 
	UNION SElECT contact_address_id as aid FROM debtors_detail WHERE FIND_IN_SET(debtor_id, @credebtor_id_list) 
) as T;

/* delete credebtor address records */
DELETE FROM address_details WHERE FIND_IN_SET(address_id, @address_id_list);

/* delete credebtor contacts records */
DELETE FROM debtor_contacts WHERE FIND_IN_SET(debtor_id, @credebtor_id_list);

/* delete credebtor bank details records */
DELETE FROM debtor_bank_details WHERE FIND_IN_SET(debtor_id, @credebtor_id_list);

/* delete credebtor details records */
DELETE FROM debtors_detail WHERE FIND_IN_SET(debtor_id, @credebtor_id_list);

/* delete credebtor relation records */
DELETE FROM debtor_relation WHERE FIND_IN_SET(debtor_id, @credebtor_id_list);