diff --git a/00_DB_SETUP_SINGLE/01_DD_ECM/Update/2.3.sql b/00_DB_SETUP_SINGLE/01_DD_ECM/Update/2.3.sql index 6f2e278..4e372f8 100644 --- a/00_DB_SETUP_SINGLE/01_DD_ECM/Update/2.3.sql +++ b/00_DB_SETUP_SINGLE/01_DD_ECM/Update/2.3.sql @@ -3,10 +3,16 @@ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO +IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES + WHERE TABLE_SCHEMA = 'dbo' AND TABLE_NAME = 'MeinTabellenName') +BEGIN + DROP TABLE [TBDD_USER_KEY_VALUE_PAIR]; +END +GO CREATE TABLE [dbo].[TBDD_USER_KEY_VALUE_PAIR]( [PK_USER_KEY_VALUE_PAIR_ID] [bigint] IDENTITY(1,1) NOT NULL, [FK_USER_ID] [int] NOT NULL, - [MODULE] [nvarchar](50) NOT NULL, + [FK_MODULE_ID] [int] NOT NULL, [KEY_NAME] [nvarchar](50) NOT NULL, [VALUE_TEXT1] [nvarchar](900) NULL, [VALUE_MAX] [nvarchar](MAX) NULL, @@ -21,7 +27,7 @@ CREATE TABLE [dbo].[TBDD_USER_KEY_VALUE_PAIR]( GO -- Unique-Index auf (MODULE, KEY_NAME) CREATE UNIQUE INDEX UX_TBDD_USER_KEY_VALUE_PAIR_Module_Key -ON dbo.TBDD_USER_KEY_VALUE_PAIR (MODULE, KEY_NAME); +ON dbo.TBDD_USER_KEY_VALUE_PAIR ([FK_MODULE_ID], [KEY_NAME]); GO @@ -31,6 +37,9 @@ GO ALTER TABLE [dbo].[TBDD_USER_KEY_VALUE_PAIR] WITH CHECK ADD CONSTRAINT [FK_TBDD_USER_KEY_VALUE_PAIR_TBDD_USER] FOREIGN KEY([FK_USER_ID]) REFERENCES [dbo].[TBDD_USER] ([GUID]) GO +ALTER TABLE [dbo].[TBDD_USER_KEY_VALUE_PAIR] WITH CHECK ADD CONSTRAINT [FK_TBDD_USER_KEY_VALUE_PAIR_TBDD_MODULES] FOREIGN KEY([FK_MODULE_ID]) +REFERENCES [dbo].[TBDD_MODULES] ([GUID]) +GO ALTER TABLE [dbo].[TBDD_USER_KEY_VALUE_PAIR] CHECK CONSTRAINT [FK_TBDD_USER_KEY_VALUE_PAIR_TBDD_USER] GO @@ -54,7 +63,7 @@ CREATE OR ALTER PROCEDURE [dbo].[PRDD_TBDD_USER_KEY_VALUE_PAIR_Upsert] @FK_USER_ID INT, @KEY_NAME NVARCHAR(50), @ValueText1 NVARCHAR(900), - @Module NVARCHAR(50), + @ModuleID INT, @Out_PK_ID BIGINT OUTPUT -- gibt die betroffene PK zurück AS BEGIN @@ -69,7 +78,7 @@ BEGIN SELECT @ExistingPK = PK_USER_KEY_VALUE_PAIR_ID FROM dbo.TBDD_USER_KEY_VALUE_PAIR WITH (UPDLOCK, HOLDLOCK) WHERE FK_USER_ID = @FK_USER_ID - AND KEY_NAME = @KEY_NAME and MODULE = @Module; + AND KEY_NAME = @KEY_NAME and [FK_MODULE_ID] = @ModuleID; IF @ExistingPK IS NOT NULL BEGIN @@ -88,13 +97,13 @@ BEGIN ( FK_USER_ID, KEY_NAME, - MODULE, + [FK_MODULE_ID], VALUE_TEXT1) VALUES ( @FK_USER_ID, @KEY_NAME, - @Module, + @ModuleID, @ValueText1 ); @@ -125,6 +134,4 @@ BEGIN RETURN; END CATCH END -GO - GO \ No newline at end of file