--Thisaddsanaliasforthedeletedconstituentifitisn't already searchable.-- We run after TX_ALIAS_CUST is merged to simplify logicIF @merge_stage = 'A'BEGIN; DECLARE @mg_alias_type int, @del_fname varchar(20), @del_lname varchar(55); SELECT @mg_alias_type = id FROM [dbo].TR_ALIAS_TYPE WHERE [description] = 'MergedName'; -- Get the delete_id'sfirstandlastname(nullsareOK)SELECT@del_fname=fname,@del_lname=lnameFROMdbo.T_CUSTOMERWHEREcustomer_no=@deleted_id;--Getalistofallcurrentlysearchablenames--keep_idanditsaliasesDECLARE@searchableTABLE(fnamevarchar(20),lnamevarchar(55));INSERTINTO@searchableSELECTalias_fname,alias_lnameFROMdbo.TX_ALIAS_CUSTWHEREcustomer_no=@kept_id;INSERTINTO@searchableSELECTfname,lnameFROMdbo.T_CUSTOMERWHEREcustomer_no=@kept_id;--Checktoseethatdeletednamewouldn't match any existing searchable names IF NOT EXISTS ( SELECT 1 FROM @searchable WHERE fname LIKE @del_fname+'%' AND lname LIKE @del_lname+'%' ) BEGIN; DECLARE @next_id int; EXEC @next_id = dbo.AP_GET_NEXTID_function @type = 'AN'; INSERT INTO dbo.TX_ALIAS_CUST (customer_no, alias_fname, alias_lname, alias_type, alias_no) SELECT @kept_id, @del_fname, @del_lname, @mg_alias_type, @next_id; IF @@error <> 0 BEGIN; SELECT @err_table = 'MergedNameAlias(post_merge)';GOTOGiveErrMsg;END;END;END;
Comments (0)
HTTPSSSH
You can clone a snippet to your computer for local editing.
Learn more.