SQL-bestanden die gelinkt zijn aan een CRM-actie verwijderen met code

0000002724     -      28-07-2017

Het is gebruikelijk om CRM-acties per code uit te wissen. Dit is eenvoudig omdat elke actie overeenkomt met een record in de tabel STOCK, dergelijke verwijderingen zullen weinig aanpassingen veroorzaken. Zo blijft de integriteit van de database bewaard. In tegenstelling tot een verwijdering in de Mercator-interface, zullen eventuele SQL-bestanden die gelinkt zijn aan de actie niet impliciet verwijdert worden. Daarom is het noodzakelijk om deze benodigde code om aan te vullen om ervoor te zorgen dat de SQL-bestanden opgeruimd worden.

Indien men wenst om een enkele actie te verwijderen, kan deze SQL-code gebruikt worden:

delete from ACTIONS where (id=@id) and (module=@module) and (id_sig=@id_sig)
exec SP_DELETE_ACTION_FILES @id,@module,@id_sig

 

Om alle acties uit een informatiebestand te verwijderen:

exec SP_DELETE_ACTIONS_FILES_ALL @module,@id_sig
delete from ACTIONS where (module=@module) and (id_sig=@id_sig)

 

Om alle child-acties van eenzelfde parent te verwijderen (geneste acties) :

exec SP_DELETE_ACTIONS_FILES_BY_PARENT @par_id,@par_module,@par_id_sig
delete from ACTIONS where (par_id=@par_id) and (par_module=@par_module) and (par_id_sig=@par_id_sig)

 

Om alle acties uit een reeks van periodieke acties te verwijderen:

exec SP_DELETE_ACTIONS_FILES_BY_PERIOD @module,@id_sig,@id_period
delete from ACTIONS where (module=@module) and (id_sig=@id_sig) and (id_period=@id_period)

 

Om acties te verwijderen volgens een gepersonaliseerde where-clause

delete FILES from ACTIONS where actions. …
and (files.filepath like '<Files\Actions\' + case when module='' then 'XXXXX' else rtrim(module) end + '\' + rtrim(dbo.CLEANREP(actions.id)) + '\%'
delete from ACTIONS where actions. …

 

Merk op: De verwijdering van SQL-bestanden moet gebeuren vóór het verwijderen van de acties (behalve in het eerste geval)