Serverumzug
This commit is contained in:
139
current/[DD_IIM]-Database/[TBDD_CFG_SYSTEM_INFO_PROCEDURES].sql
Normal file
139
current/[DD_IIM]-Database/[TBDD_CFG_SYSTEM_INFO_PROCEDURES].sql
Normal file
@@ -0,0 +1,139 @@
|
||||
/* ============================================================================
|
||||
SYSTEM_INFO – PROZEDUREN
|
||||
Voraussetzung: Tabelle [_meta].[TBDD_CFG_SYSTEM_INFO] existiert
|
||||
============================================================================ */
|
||||
|
||||
USE [DD_IIM];
|
||||
GO
|
||||
|
||||
DROP PROCEDURE IF EXISTS [_meta].[PRDD_INSERT_SYSTEM_INFO];
|
||||
DROP PROCEDURE IF EXISTS [_meta].[PRDD_UPDATE_SYSTEM_INFO];
|
||||
GO
|
||||
|
||||
CREATE OR ALTER PROCEDURE [_meta].[PRDD_UPSERT_SYSTEM_INFO]
|
||||
@PK_CFG_SYSTEM_INFO_ID BIGINT = NULL,
|
||||
@SYSTEM_VERSION NVARCHAR(50),
|
||||
@COMMENT NVARCHAR(4000) = NULL,
|
||||
@CREATED_WHO BIGINT,
|
||||
@CREATED_WHEN DATETIME2(0),
|
||||
@CHANGED_WHO BIGINT = NULL,
|
||||
@CHANGED_WHEN DATETIME2(0) = NULL,
|
||||
@OUT_PK_CFG_SYSTEM_INFO_ID BIGINT OUTPUT
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @identity_insert_enabled BIT = 0;
|
||||
|
||||
BEGIN TRY
|
||||
EXEC sys.sp_set_session_context @key = N'_meta_allow_tbdd_system_info_dml', @value = 1;
|
||||
|
||||
IF @PK_CFG_SYSTEM_INFO_ID IS NULL
|
||||
BEGIN
|
||||
EXEC sys.sp_set_session_context @key = N'_meta_tbdd_system_info_use_input_pk', @value = 0;
|
||||
|
||||
INSERT INTO [_meta].[TBDD_CFG_SYSTEM_INFO]
|
||||
(
|
||||
[SYSTEM_VERSION],
|
||||
[COMMENT],
|
||||
[CREATED_WHO],
|
||||
[CREATED_WHEN],
|
||||
[CHANGED_WHO],
|
||||
[CHANGED_WHEN]
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
@SYSTEM_VERSION,
|
||||
@COMMENT,
|
||||
@CREATED_WHO,
|
||||
@CREATED_WHEN,
|
||||
@CHANGED_WHO,
|
||||
@CHANGED_WHEN
|
||||
);
|
||||
|
||||
SET @OUT_PK_CFG_SYSTEM_INFO_ID = CAST(@@IDENTITY AS BIGINT);
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
UPDATE [_meta].[TBDD_CFG_SYSTEM_INFO]
|
||||
SET [SYSTEM_VERSION] = @SYSTEM_VERSION,
|
||||
[COMMENT] = @COMMENT,
|
||||
[CHANGED_WHO] = @CHANGED_WHO,
|
||||
[CHANGED_WHEN] = @CHANGED_WHEN
|
||||
WHERE [PK_CFG_SYSTEM_INFO_ID] = @PK_CFG_SYSTEM_INFO_ID;
|
||||
|
||||
IF @@ROWCOUNT = 0
|
||||
BEGIN
|
||||
SET @identity_insert_enabled = 1;
|
||||
EXEC sys.sp_set_session_context @key = N'_meta_tbdd_system_info_use_input_pk', @value = 1;
|
||||
SET IDENTITY_INSERT [_meta].[TBDD_CFG_SYSTEM_INFO] ON;
|
||||
|
||||
INSERT INTO [_meta].[TBDD_CFG_SYSTEM_INFO]
|
||||
(
|
||||
[PK_CFG_SYSTEM_INFO_ID],
|
||||
[SYSTEM_VERSION],
|
||||
[COMMENT],
|
||||
[CREATED_WHO],
|
||||
[CREATED_WHEN],
|
||||
[CHANGED_WHO],
|
||||
[CHANGED_WHEN]
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
@PK_CFG_SYSTEM_INFO_ID,
|
||||
@SYSTEM_VERSION,
|
||||
@COMMENT,
|
||||
@CREATED_WHO,
|
||||
@CREATED_WHEN,
|
||||
@CHANGED_WHO,
|
||||
@CHANGED_WHEN
|
||||
);
|
||||
|
||||
SET IDENTITY_INSERT [_meta].[TBDD_CFG_SYSTEM_INFO] OFF;
|
||||
SET @identity_insert_enabled = 0;
|
||||
EXEC sys.sp_set_session_context @key = N'_meta_tbdd_system_info_use_input_pk', @value = 0;
|
||||
END;
|
||||
|
||||
SET @OUT_PK_CFG_SYSTEM_INFO_ID = @PK_CFG_SYSTEM_INFO_ID;
|
||||
END;
|
||||
|
||||
EXEC sys.sp_set_session_context @key = N'_meta_tbdd_system_info_use_input_pk', @value = NULL;
|
||||
EXEC sys.sp_set_session_context @key = N'_meta_allow_tbdd_system_info_dml', @value = NULL;
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
IF @identity_insert_enabled = 1
|
||||
BEGIN
|
||||
BEGIN TRY
|
||||
SET IDENTITY_INSERT [_meta].[TBDD_CFG_SYSTEM_INFO] OFF;
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
END CATCH
|
||||
END;
|
||||
|
||||
EXEC sys.sp_set_session_context @key = N'_meta_tbdd_system_info_use_input_pk', @value = NULL;
|
||||
EXEC sys.sp_set_session_context @key = N'_meta_allow_tbdd_system_info_dml', @value = NULL;
|
||||
THROW;
|
||||
END CATCH
|
||||
END;
|
||||
GO
|
||||
|
||||
CREATE OR ALTER PROCEDURE [_meta].[PRDD_DELETE_SYSTEM_INFO]
|
||||
@PK_CFG_SYSTEM_INFO_ID BIGINT
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
BEGIN TRY
|
||||
EXEC sys.sp_set_session_context @key = N'_meta_allow_tbdd_system_info_dml', @value = 1;
|
||||
|
||||
DELETE FROM [_meta].[TBDD_CFG_SYSTEM_INFO]
|
||||
WHERE [PK_CFG_SYSTEM_INFO_ID] = @PK_CFG_SYSTEM_INFO_ID;
|
||||
|
||||
EXEC sys.sp_set_session_context @key = N'_meta_allow_tbdd_system_info_dml', @value = NULL;
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
EXEC sys.sp_set_session_context @key = N'_meta_allow_tbdd_system_info_dml', @value = NULL;
|
||||
THROW;
|
||||
END CATCH
|
||||
END;
|
||||
GO
|
||||
Reference in New Issue
Block a user