The only trigger that should be encountered while attempting to delete from the LabelRec table is one that refers to the DescRec table. Because the Label field of a DescRec entry validates with the LabelRec table, one must remove all entries referencing the label you wish to delete. If you were renaming a label, you probably updated the LabelRec table and used fetch and update to rename the DescRec entries. By doing this, the DescRec table creates new entries for the Label/RefName pair, leaving the old ones intacted. For example, we want to delete FC 01-2 because the Faraday cup was removed from the system, or simply was named incorrectly.
First an attempt would be made to delete the cup.
sample1=>
DELETE FROM LabelRec WHERE Label='FC 01-2';
NOTICE: can't delete |FC 01-1| it is in use by DescRec.Label DELETE 0
As you can see, a trigger was hit in the Label field of the DescRec table. Since we don't want this label at all, delete it from the DescRec table. Attempt to delete from the LabelRec table again as well.
sample1=>
DELETE FROM DescRec WHERE Label='FC 01-2';
DELETE 7
sample1=>
DELETE FROM LabelRec WHERE Label='FC 01-2';
DELETE 1
The delete was successful since the trigger has been satisfied.
There is one other variation that may occur. That is, the label might be used in the logical link Label/RefName in the DescRec table. In this case, use fetch and update to modify the logical link to another parameter or set the values to NULL.