Files
Fuchs_Intranet/Fuchs_Database/dbo/Functions/fis_fn_id.sql
T
Stefan 10ecdfa2e4 Add Fuchs_Database SSDT project (schema source of truth)
Adds the SQL Server Data Tools project for the fuchs_fds database — tables,
table types, functions and stored procedures that the backend calls (e.g.
fds__getInvoice, fds__merge_bankingtransactions, fds__tt__bankingtransactions,
fds__admin_getReportCatalog, fis_* auth). Build/model caches (bin, obj,
*.dbmdl, *.jfm, *.user) are git-ignored.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 14:50:54 +02:00

43 lines
1.2 KiB
Transact-SQL

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;