SqlScripts/05_ToolCollection/CreateDBObjects.sql

90 lines
3.7 KiB
Transact-SQL

-- Replace @WINDREAM_DB in code with name of WM-Database
IF not EXISTS(SELECT GUID FROM TBDD_MODULES WHERE NAME = 'ToolCollection' )
INSERT INTO TBDD_MODULES (NAME, SHORT_NAME, LICENSE,ACTIVE) VALUES ('ToolCollection','TC','kc6j9HSv/UJVAzFjMZv2A3wHZFy+2nNLKP9Qs8g9EVY=',1)
UPDATE TBDD_MODULES SET DB_VERSION = '1.1.0.0' where UPPER(NAME) = UPPER('ToolCollection')
GO
CREATE TABLE TBTC_MOVE_RENAME
(
GUID INT IDENTITY(1,1),
PROFILE_NAME VARCHAR(100) NOT NULL,
FOLDER_FOR_INDEX VARCHAR(500) DEFAULT '' NOT NULL,
NAMECONVENTION VARCHAR(500) NOT NULL DEFAULT '',
VERSION_OFF BIT DEFAULT 0 NOT NULL,
ACTIVE BIT DEFAULT 1 NOT NULL,
CREATED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
CREATED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBTC_MOVE_RENAME PRIMARY KEY(GUID),
CONSTRAINT UNIQUE_TBTC_MOVE_RENAME UNIQUE(PROFILE_NAME)
)
GO
------------------------------------------------------------------------------
CREATE TRIGGER TBTC_MOVE_RENAME_AFT_UPD ON TBTC_MOVE_RENAME
FOR UPDATE
AS
BEGIN TRY
UPDATE TBTC_MOVE_RENAME SET CHANGED_WHEN = GETDATE() FROM INSERTED
WHERE TBTC_MOVE_RENAME.GUID = INSERTED.GUID
END TRY
BEGIN CATCH
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ ' - ERROR-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
CREATE TABLE TBTC_DI_REGEX_MATCH
(
GUID INT IDENTITY(1,1),
PROFILE_NAME VARCHAR(250) NOT NULL,
REGEX VARCHAR(1000) NOT NULL,
CREATED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
CREATED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBTC_DI_REGEX_MATCH PRIMARY KEY(GUID),
CONSTRAINT UNIQUE_TBTC_DI_REGEX_MATCH UNIQUE(PROFILE_NAME)
)
GO
------------------------------------------------------------------------------
CREATE TRIGGER TBTC_DI_REGEX_MATCH_AFT_UPD ON TBTC_DI_REGEX_MATCH
FOR UPDATE
AS
BEGIN TRY
UPDATE TBTC_DI_REGEX_MATCH SET CHANGED_WHEN = GETDATE() FROM INSERTED
WHERE TBTC_DI_REGEX_MATCH.GUID = INSERTED.GUID
END TRY
BEGIN CATCH
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ ' - ERROR-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
CREATE FUNCTION [dbo].[FNCUST_GET_TC_WD_RIGHTS] (
@windreamDocID BIGINT
)
RETURNS TABLE
AS
RETURN
----------------------------------------------------------------------------------------------------------------------------------
SELECT concat([wdGI].[szNTDomain],'\',[wdGI].[szGroupName]) as 'RightGroups'
FROM [@WINDREAM_DB].[dbo].[BaseAttributes] as [wdBA] (NOLOCK)
INNER JOIN [@WINDREAM_DB].[dbo].[UserInfo] as [wdUI] (NOLOCK) ON UPPER([wdBA].[szText22]) = UPPER([wdUI].[szUserName]) -- Username for UserID
INNER JOIN [@WINDREAM_DB].[dbo].[UserGroup] as [wdU2G] (NOLOCK) ON [wdUI].[dwUserID] = [wdU2G].[dwUserOrGroupID] -- UserID for GroupsID
INNER JOIN [@WINDREAM_DB].[dbo].[GroupInfo] as [wdGI] (NOLOCK) ON [wdU2G].[dwGroupID] = [wdGI].[dwGroupID] -- GroupIDs for Groupnames
INNER JOIN [DD_ECM].[dbo].[TBDD_USER] as [ddUI] (NOLOCK) ON [wdUI].[dwUserID] = [ddUI].[USERID_FK_INT_ECM] -- windream UserID to DD UserID
INNER JOIN [DD_ECM].[dbo].[TBDD_GROUPS_USER] as [ddU2G] (NOLOCK) ON [ddUI].[GUID] = [ddU2G].[USER_ID] -- UserID for GroupsID
INNER JOIN [DD_ECM].[dbo].[TBDD_GROUPS] as [ddGI] (NOLOCK) ON [ddU2G].[GROUP_ID] = [ddGI].[GUID] -- GroupIDs for Groupnames
WHERE UPPER([wdGI].[szGroupName]) = UPPER([ddGI].[NAME])
AND [wdBA].[dwDocID] = @windreamDocID
GO