CREATE FUNCTION [dbo].[fis_fn_id] ( @table varchar(50) ) RETURNS varchar(50) AS BEGIN DECLARE @NewAccount varchar(10) = null; SET @table = ISNULL(@table, ''); IF @table = 'fis_usergroups' BEGIN SELECT @NewAccount = [dbo].[ocms_fn_generatePassword] (5,0,1,0); WHILE EXISTS( SELECT 0 FROM [dbo].[fis_usergroups] WITH (SERIALIZABLE) WHERE [usergroup_id] = @NewAccount) BEGIN SET @NewAccount = [dbo].[ocms_fn_generatePassword] (5,0,1,0); END END ELSE IF @table = 'tmp__fds__invoice_servicerequests' BEGIN SELECT @NewAccount = [dbo].[ocms_fn_generatePassword] (7,0,1,0); WHILE EXISTS( SELECT 0 FROM [dbo].[tmp__fds__invoice_servicerequests] WITH (SERIALIZABLE) WHERE [InvRqId] = @NewAccount) BEGIN SET @NewAccount = [dbo].[ocms_fn_generatePassword] (7,0,1,0); END END ELSE IF @table = 'tmp__fds__bankingtransactions' BEGIN SELECT @NewAccount = [dbo].[ocms_fn_generatePassword] (7,0,1,0); WHILE EXISTS( SELECT 0 FROM [dbo].[tmp__fds__bankingtransactions] WITH (SERIALIZABLE) WHERE [taID] = @NewAccount) BEGIN SET @NewAccount = [dbo].[ocms_fn_generatePassword] (7,0,1,0); END END RETURN ISNULL(@NewAccount, [dbo].[ocms_fn_generatePassword] (10,0,1,0)); END;