This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,304 @@
DROP PROCEDURE IF EXISTS dev.uspIntezmenyRemoveDelete
GO
CREATE PROCEDURE dev.uspIntezmenyRemoveDelete
@pIntezmenyIds nvarchar(1000)
,@pIsArchivTanevTorles bit = 0
,@pDebugMode bit = 0
AS
BEGIN
DECLARE
@tableName nvarchar(100)
,@intezmenyIdColumn nvarchar(50)
,@tanevIdColumn nvarchar(50)
,@sql nvarchar(max)
,@firstParentCol nvarchar(50)
,@firstRefObj nvarchar(50)
,@secondParentCol nvarchar(50)
,@secondRefObj nvarchar(50)
,@message nvarchar(max)
,@rowCount int
-- ==================================================
-- Index az ENTITYHISTORY-ra
-- ==================================================
IF @pIntezmenyIds IS NULL AND @pIsArchivTanevTorles = 1 BEGIN
PRINT 1
SET @sql = '
SELECT @pIntezmenyIds = CONCAT(@pIntezmenyIds + '','', i.ID) FROM dbo.T_INTEZMENY i WHERE i.TOROLT = ''F''
'
PRINT @sql
EXEC sp_executesql @sql, N'@pIntezmenyIds nvarchar(1000) output', @pIntezmenyIds output
END
-- Archiv tanévek törléséhez kell a temp tábla
CREATE TABLE #Tanev (TanevId int PRIMARY KEY)
IF @pIsArchivTanevTorles = 1 BEGIN
SET @sql = '
SELECT tv.ID AS TanevId
FROM dbo.T_TANEV tv
WHERE tv.C_ARCHIVADATBAZIS IS NOT NULL
AND tv.C_INTEZMENYID IN (' + @pIntezmenyIds + ')
'
PRINT @pIntezmenyIds
PRINT @sql
INSERT INTO #Tanev (TanevId)
EXEC sp_executesql @sql
UPDATE tm SET
tm.C_FELMENTESROGZITOTANARID = NULL,
tm.C_FELMENTESROGZITOTANARNEV = fh.C_NYOMTATASINEV
FROM T_TANULOMENTESSEG tm
INNER JOIN T_FELHASZNALO fh ON fh.ID = tm.C_FELMENTESROGZITOTANARID
INNER JOIN #Tanev tmp ON tmp.TanevId = fh.C_TANEVID
INNER JOIN T_TANEV tv ON tv.ID = tm.C_TANEVID AND tv.C_ARCHIVADATBAZIS IS NULL
WHERE tm.C_TANEVID <> fh.C_TANEVID
UPDATE z SET
z.C_ROGZITOID = NULL,
z.C_ROGZITONEV = fh.C_NYOMTATASINEV
FROM T_ZARADEK z
INNER JOIN T_FELHASZNALO fh ON fh.ID = z.C_ROGZITOID
INNER JOIN #Tanev tmp ON tmp.TanevId = fh.C_TANEVID
INNER JOIN T_TANEV tv ON tv.ID = z.C_TANEVID AND tv.C_ARCHIVADATBAZIS IS NULL
WHERE z.C_TANEVID <> fh.C_TANEVID
UPDATE z SET
z.C_UTOLSOMODOSITOID = NULL,
z.C_UTOLSOMODOSITONEV = fh.C_NYOMTATASINEV
FROM T_ZARADEK z
INNER JOIN T_FELHASZNALO fh ON fh.ID = z.C_ROGZITOID
INNER JOIN #Tanev tmp ON tmp.TanevId = fh.C_TANEVID
INNER JOIN T_TANEV tv ON tv.ID = z.C_TANEVID AND tv.C_ARCHIVADATBAZIS IS NULL
WHERE z.C_TANEVID <> fh.C_TANEVID
END
IF @pIsArchivTanevTorles = 0 BEGIN
SET @message = 'CREATING ENTITYHISTORY INDEX... - ' + FORMAT(GETDATE(), 'HH:mm:ss.ff')
RAISERROR (@message, 10, 1) WITH NOWAIT
SET @sql = N'
DROP INDEX IF EXISTS IX_TMP_EntityHistory_IntezmenyId_Delete
ON dbo.T_ENTITYHISTORY
CREATE NONCLUSTERED INDEX IX_TMP_EntityHistory_IntezmenyId_Delete
ON dbo.T_ENTITYHISTORY (C_INTEZMENYID)
WHERE C_INTEZMENYID IN (' + @pIntezmenyIds + ')
'
IF @pDebugMode = 1 RAISERROR (@sql, 10, 1) WITH NOWAIT
EXEC sp_executesql @sql
SET @message = 'CREATING ENTITYHISTORY INDEX DONE - ' + FORMAT(GETDATE(), 'HH:mm:ss.ff')
RAISERROR (@message, 10, 1) WITH NOWAIT
END
RAISERROR ('DATA DELETION... ', 10, 1) WITH NOWAIT
-- ==================================================
-- ENTITYATTRIBUTEHISTORY & ENTITYBLOBVALUES törlés
-- ==================================================
IF @pIsArchivTanevTorles = 0 BEGIN
SET @sql = N'
DELETE eb
FROM T_ENTITYBLOBVALUES eb
INNER JOIN T_ENTITYHISTORY e ON e.ID = eb.C_ENTITYHISTORYID
WHERE e.C_INTEZMENYID IN (' + @pIntezmenyIds + ')
SET @rowCount = @@ROWCOUNT
'
IF @pDebugMode = 1 RAISERROR (@sql, 10, 1) WITH NOWAIT
EXEC sp_executesql @sql, N'@rowCount int output', @rowCount output
SET @message = ' DEL-A ' + FORMAT(GETDATE(), 'HH:mm:ss.ff') + ' - T_ENTITYBLOBVALUES - ' + CAST(@rowCount AS nvarchar(20)) + ' sor'
RAISERROR (@message, 10, 1) WITH NOWAIT
SET @sql = N'
DELETE FROM T_ENTITYATTRIBUTEHISTORY
WHERE EXISTS (SELECT 1 FROM T_ENTITYHISTORY eh WHERE eh.ID = C_ENTITYHISTORYID AND eh.C_INTEZMENYID IN (' + @pIntezmenyIds + '))
SET @rowCount = @@ROWCOUNT
'
IF @pDebugMode = 1 RAISERROR (@sql, 10, 1) WITH NOWAIT
EXEC sp_executesql @sql, N'@rowCount int output', @rowCount output
SET @message = ' DEL-A ' + FORMAT(GETDATE(), 'HH:mm:ss.ff') + ' - T_ENTITYATTRIBUTEHISTORY - ' + CAST(@rowCount AS nvarchar(20)) + ' sor'
RAISERROR (@message, 10, 1) WITH NOWAIT
SET @sql = N'
DELETE eh
FROM T_ENTITYHISTORY eh
WHERE eh.C_INTEZMENYID IN (' + @pIntezmenyIds + ')
SET @rowCount = @@ROWCOUNT
'
IF @pDebugMode = 1 RAISERROR (@sql, 10, 1) WITH NOWAIT
EXEC sp_executesql @sql, N'@rowCount int output', @rowCount output
SET @message = ' DEL-A ' + FORMAT(GETDATE(), 'HH:mm:ss.ff') + ' - T_ENTITYHISTORY - ' + CAST(@rowCount AS nvarchar(20)) + ' sor'
RAISERROR (@message, 10, 1) WITH NOWAIT
END
-- ==================================================
-- Kapcsolótábla törlés
-- ==================================================
SET @sql = N''
DECLARE tbl_cur CURSOR LOCAL FOR
SELECT t.name
FROM sys.tables t
WHERE NOT EXISTS (SELECT 1 FROM sys.columns c WHERE c.object_id = t.object_Id AND c.name = 'ID')
AND NOT EXISTS (SELECT 1 FROM sys.columns c WHERE c.object_id = t.object_Id AND c.name = 'C_ALINTEZMENYID')
AND NOT EXISTS (SELECT 1 FROM sys.columns c WHERE c.object_id = t.object_Id AND c.name = 'C_INTEZMENYID')
AND t.name LIKE 'T[_]%'
AND t.schema_id = 1
AND t.name NOT IN ('T_ENTITYBLOBVALUES', 'T_AMIFOTARGY_AMIALTARGY', 'T_ENTITYATTRIBUTEHISTORY')
OPEN tbl_cur
FETCH NEXT FROM tbl_cur
INTO @tableName
WHILE @@FETCH_STATUS = 0 BEGIN
SELECT TOP(1)
@firstParentCol = pc.[name]-- AS parent_column_name
,@firstRefObj = OBJECT_NAME(rc.[object_id]) --as referenced_object_name
FROM sys.foreign_key_columns f
INNER JOIN sys.columns pc ON pc.[object_id] = f.parent_object_id AND pc.column_id = f.parent_column_id
INNER JOIN sys.columns rc ON rc.[object_id] = f.referenced_object_id AND rc.column_id = f.referenced_column_id
WHERE parent_object_id = OBJECT_ID(@tableName)
ORDER BY f.constraint_object_id ASC
SELECT TOP(1)
@secondParentCol = pc.[name]-- AS parent_column_name
,@secondRefObj = OBJECT_NAME(rc.[object_id]) --as referenced_object_name
FROM sys.foreign_key_columns f
INNER JOIN sys.columns pc ON pc.[object_id] = f.parent_object_id AND pc.column_id = f.parent_column_id
INNER JOIN sys.columns rc ON rc.[object_id] = f.referenced_object_id AND rc.column_id = f.referenced_column_id
WHERE parent_object_id = OBJECT_ID(@tableName)
ORDER BY f.constraint_object_id DESC
SET @sql = N'
DELETE x
FROM dbo.' + @tableName + ' x
INNER JOIN dbo.' + @firstRefObj + ' s ON s.ID = x.' + @firstParentCol + ' AND s.C_' + IIF(@firstRefObj IN ('T_TANULO', 'T_ALKALMAZOTT', 'T_OSZTALY', 'T_CSOPORT'), 'AL', '') + 'INTEZMENYID IN (' + @pIntezmenyIds + ')' + '
INNER JOIN dbo.' + @secondRefObj + ' z ON z.ID = x.' + @secondParentCol + ' AND z.C_' + IIF(@secondRefObj IN ('T_TANULO', 'T_ALKALMAZOTT', 'T_OSZTALY', 'T_CSOPORT'), 'AL', '') + 'INTEZMENYID IN (' + @pIntezmenyIds + ')' + '
' + IIF(@pIsArchivTanevTorles = 1, 'INNER JOIN #Tanev t ON t.TanevId = s.C_' + IIF(@firstRefObj IN ('T_TANULO', 'T_ALKALMAZOTT', 'T_OSZTALY', 'T_CSOPORT'), 'AL', '') + 'TANEVID ', '') + '
SET @rowCount = @@ROWCOUNT
'
IF @pDebugMode = 1 RAISERROR (@sql, 10, 1) WITH NOWAIT
EXEC sp_executesql @sql, N'@rowCount int output', @rowCount output
SET @message = ' DEL-B ' + FORMAT(GETDATE(), 'HH:mm:ss.ff') + ' - ' + @tableName + ' - ' + CAST(@rowCount AS nvarchar(20)) + ' sor'
RAISERROR (@message, 10, 1) WITH NOWAIT
FETCH NEXT FROM tbl_cur
INTO @tableName
END
CLOSE tbl_cur
DEALLOCATE tbl_cur
-- ==================================================
-- Normál tábla törlés
-- ==================================================
DECLARE tbl_cur CURSOR LOCAL FOR
SELECT DISTINCT t.name AS TableName, c.name AS IntezmenyIdColumn, c2.name AS TanevIdColumn--, COLUMNPROPERTY(OBJECT_ID(TABLE_NAME), 'ID', 'IsIdentity')
FROM sys.tables t
INNER JOIN sys.columns c ON c.object_id = t.object_id
LEFT JOIN sys.columns c2 ON c2.object_id = t.object_id AND c2.name IN (N'C_ALTANEVID', N'C_TANEVID')
WHERE c.name IN (N'C_ALINTEZMENYID', N'C_INTEZMENYID')
AND t.name NOT IN (IIF(@pIsArchivTanevTorles = 1, 'T_ENTITYHISTORY', ''))
AND t.name LIKE 'T[_]%'
AND t.schema_id = 1
ORDER BY t.name
OPEN tbl_cur
FETCH NEXT FROM tbl_cur
INTO @tableName, @intezmenyIdColumn, @tanevIdColumn
WHILE @@FETCH_STATUS = 0 BEGIN
-- PRINT @tableName
-- Achive törléskor csak azokból a táblákból törlünk, ahol van C_(AL)TANEVID oszlop
IF @pIsArchivTanevTorles = 1 OR @tanevIdColumn IS NOT NULL BEGIN
SET @sql = N'
DELETE x
FROM dbo.' + @tableName + ' x
' + IIF(@pIsArchivTanevTorles = 1, 'INNER JOIN #Tanev t ON t.TanevId = x.' + @tanevIdColumn, '') + '
WHERE x.' + @intezmenyIdColumn + ' IN (' + @pIntezmenyIds + ')
SET @rowCount = @@ROWCOUNT
'
IF @pDebugMode = 1 RAISERROR (@sql, 10, 1) WITH NOWAIT
EXEC sp_executesql @sql, N'@rowCount int output', @rowCount output
SET @message = ' DEL-C ' + FORMAT(GETDATE(), 'HH:mm:ss.ff') + ' - ' + @tableName + ' - ' + CAST(@rowCount AS nvarchar(20)) + ' sor'
RAISERROR (@message, 10, 1) WITH NOWAIT
END
FETCH NEXT FROM tbl_cur
INTO @tableName, @intezmenyIdColumn, @tanevIdColumn
END
CLOSE tbl_cur
DEALLOCATE tbl_cur
-- ==================================================
-- INTEZMENY törlés
-- ==================================================
IF @pIsArchivTanevTorles = 0 BEGIN
SET @sql = N'
DELETE x
FROM dbo.T_TANEV x
WHERE x.C_INTEZMENYID IN (' + @pIntezmenyIds + ')
SET @rowCount = @@ROWCOUNT
'
IF @pDebugMode = 1 RAISERROR (@sql, 10, 1) WITH NOWAIT
EXEC sp_executesql @sql, N'@rowCount int output', @rowCount output
SET @message = ' DEL-C ' + FORMAT(GETDATE(), 'HH:mm:ss.ff') + ' - T_TANEV - ' + CAST(@rowCount AS nvarchar(20)) + ' sor'
RAISERROR (@message, 10, 1) WITH NOWAIT
SET @sql = N'
DELETE x
FROM dbo.T_INTEZMENY x
WHERE x.ID IN (' + @pIntezmenyIds + ')
SET @rowCount = @@ROWCOUNT
'
IF @pDebugMode = 1 RAISERROR (@sql, 10, 1) WITH NOWAIT
EXEC sp_executesql @sql, N'@rowCount int output', @rowCount output
SET @message = ' DEL-C ' + FORMAT(GETDATE(), 'HH:mm:ss.ff') + ' - T_INTEZMENY - ' + CAST(@rowCount AS nvarchar(20)) + ' sor'
RAISERROR (@message, 10, 1) WITH NOWAIT
END
-- ==================================================
-- ENTITYHISTORY index törlés
-- ==================================================
SET @message = 'DROPPING ENTITYHISTORY INDEX... - ' + FORMAT(GETDATE(), 'HH:mm:ss.ff')
RAISERROR (@message, 10, 1) WITH NOWAIT
SET @sql = N'
DROP INDEX IF EXISTS IX_TMP_EntityHistory_IntezmenyId_Delete
ON dbo.T_ENTITYHISTORY
'
IF @pDebugMode = 1 RAISERROR (@sql, 10, 1) WITH NOWAIT
EXEC sp_executesql @sql
SET @message = 'DROPPING ENTITYHISTORY INDEX DONE - ' + FORMAT(GETDATE(), 'HH:mm:ss.ff')
RAISERROR (@message, 10, 1) WITH NOWAIT
END
GO

View file

@ -0,0 +1,19 @@
IF (COL_LENGTH('T_NEMKOTOTTMUNKAIDO', 'C_TULAJDONOSID_BAK') IS NULL)
BEGIN
ALTER TABLE [T_NEMKOTOTTMUNKAIDO] ADD [C_TULAJDONOSID_BAK] INT NULL;
END
GO
IF (COL_LENGTH('T_ORARENDIORA', 'C_ORATULAJDONOSID_BAK') IS NULL)
BEGIN
ALTER TABLE [T_ORARENDIORA] ADD [C_ORATULAJDONOSID_BAK] INT NULL;
END
GO
DISABLE TRIGGER tr_AsyncAuditNEMKOTOTTMUNKAIDO ON T_NEMKOTOTTMUNKAIDO;
UPDATE T_NEMKOTOTTMUNKAIDO SET [C_TULAJDONOSID_BAK] = C_TULAJDONOSID;
ENABLE TRIGGER tr_AsyncAuditNEMKOTOTTMUNKAIDO ON T_NEMKOTOTTMUNKAIDO;
DISABLE TRIGGER tr_AsyncAuditORARENDIORA ON T_ORARENDIORA;
UPDATE T_ORARENDIORA SET C_ORATULAJDONOSID_BAK = C_ORATULAJDONOSID;
ENABLE TRIGGER tr_AsyncAuditORARENDIORA ON T_ORARENDIORA;

View file

@ -0,0 +1,354 @@
PRINT N'Dropping Index [dbo].[T_TEREM].[NCI_Terem_MukodesiHelyId]...';
GO
DROP INDEX [NCI_Terem_MukodesiHelyId]
ON [dbo].[T_TEREM];
GO
PRINT N'Dropping Index [dbo].[T_TEREM].[NCI_Terem_ElozotanevirekordId_IntezmenyId]...';
GO
DROP INDEX [NCI_Terem_ElozotanevirekordId_IntezmenyId]
ON [dbo].[T_TEREM];
GO
PRINT N'Dropping Index [dbo].[T_NEMKOTOTTMUNKAIDO].[NCI_NemKotottMunkaido_TulajdonosId]...';
GO
DROP INDEX [NCI_NemKotottMunkaido_TulajdonosId]
ON [dbo].[T_NEMKOTOTTMUNKAIDO];
GO
PRINT N'Dropping Index [dbo].[T_ORARENDIORA].[NCI_OrarendiOra_OraTulajdonosId]...';
GO
DROP INDEX [NCI_OrarendiOra_OraTulajdonosId]
ON [dbo].[T_ORARENDIORA];
GO
PRINT N'Dropping Foreign Key [dbo].[FK_Terem_MukodesiHelyId_REF_MukodesiHely]...';
GO
ALTER TABLE [dbo].[T_TEREM] DROP CONSTRAINT [FK_Terem_MukodesiHelyId_REF_MukodesiHely];
GO
PRINT N'Dropping Foreign Key [dbo].[FK_NemKotottMunkaido_TulajdonosId_REF_Felhasznalo]...';
GO
ALTER TABLE [dbo].[T_NEMKOTOTTMUNKAIDO] DROP CONSTRAINT [FK_NemKotottMunkaido_TulajdonosId_REF_Felhasznalo];
GO
PRINT N'Dropping Foreign Key [dbo].[FK_OrarendiOra_OraTulajdonosId_REF_Felhasznalo]...';
GO
ALTER TABLE [dbo].[T_ORARENDIORA] DROP CONSTRAINT [FK_OrarendiOra_OraTulajdonosId_REF_Felhasznalo];
GO
PRINT N'Altering Table [dbo].[T_NEMKOTOTTMUNKAIDO]...';
GO
ALTER TABLE [dbo].[T_NEMKOTOTTMUNKAIDO] DROP COLUMN [C_TULAJDONOSID];
GO
PRINT N'Altering Table [dbo].[T_ORARENDIORA]...';
GO
ALTER TABLE [dbo].[T_ORARENDIORA] DROP COLUMN [C_ORATULAJDONOSID];
GO
PRINT N'Altering Table [dbo].[T_TEREM]...';
GO
ALTER TABLE [dbo].[T_TEREM] ALTER COLUMN [C_MUKODESIHELYID] INT NULL;
GO
ALTER TABLE [dbo].[T_TEREM]
ADD [C_DUALISHELYSZINTIPUSID] INT NULL;
GO
PRINT N'Creating Index [dbo].[T_TEREM].[NCI_Terem_MukodesiHelyId]...';
GO
CREATE NONCLUSTERED INDEX [NCI_Terem_MukodesiHelyId]
ON [dbo].[T_TEREM]([C_MUKODESIHELYID] ASC);
GO
PRINT N'Creating Index [dbo].[T_TEREM].[NCI_Terem_ElozotanevirekordId_IntezmenyId]...';
GO
CREATE NONCLUSTERED INDEX [NCI_Terem_ElozotanevirekordId_IntezmenyId]
ON [dbo].[T_TEREM]([ELOZOTANEVIREKORDID] ASC, [C_INTEZMENYID] ASC)
INCLUDE([C_JELLEG], [C_NEV], [C_TEREMFELELOSID], [C_MUKODESIHELYID], [SERIAL], [TOROLT]) WITH (FILLFACTOR = 80);
GO
PRINT N'Creating Index [dbo].[T_TEREM].[NCI_Terem_IntezmenyId_TanevId_DualisHelyszinTipusId]...';
GO
CREATE NONCLUSTERED INDEX [NCI_Terem_IntezmenyId_TanevId_DualisHelyszinTipusId]
ON [dbo].[T_TEREM]([C_INTEZMENYID] ASC, [C_TANEVID] ASC, [C_DUALISHELYSZINTIPUSID] ASC);
GO
PRINT N'Creating Table [dbo].[T_DUALISHELYSZINTIPUS]...';
GO
CREATE TABLE [dbo].[T_DUALISHELYSZINTIPUS] (
[ID] INT NOT NULL,
[C_ALINTEZMENYID] INT NOT NULL,
[C_ALTANEVID] INT NOT NULL,
[TOROLT] CHAR (1) NOT NULL,
[SERIAL] INT NOT NULL,
[LASTCHANGED] DATETIME NOT NULL,
[CREATED] DATETIME NOT NULL,
[MODIFIER] INT NULL,
[CREATOR] INT NULL,
[ELOZOTANEVIREKORDID] INT NULL,
[ELOZOTANEVIREKORDIDA] INT NULL,
CONSTRAINT [PK_DualisHelyszinTipus] PRIMARY KEY CLUSTERED ([ID] ASC, [C_ALINTEZMENYID] ASC, [C_ALTANEVID] ASC)
);
GO
PRINT N'Creating Index [dbo].[T_DUALISHELYSZINTIPUS].[NCI_DualisHelyszinTipus_AlIntezmenyId]...';
GO
CREATE NONCLUSTERED INDEX [NCI_DualisHelyszinTipus_AlIntezmenyId]
ON [dbo].[T_DUALISHELYSZINTIPUS]([C_ALINTEZMENYID] ASC);
GO
PRINT N'Creating Index [dbo].[T_DUALISHELYSZINTIPUS].[NCI_DualisHelyszinTipus_AlTanevId]...';
GO
CREATE NONCLUSTERED INDEX [NCI_DualisHelyszinTipus_AlTanevId]
ON [dbo].[T_DUALISHELYSZINTIPUS]([C_ALTANEVID] ASC);
GO
PRINT N'Creating Default Constraint unnamed constraint on [dbo].[T_DUALISHELYSZINTIPUS]...';
GO
ALTER TABLE [dbo].[T_DUALISHELYSZINTIPUS]
ADD DEFAULT ((0)) FOR [SERIAL];
GO
PRINT N'Creating Default Constraint unnamed constraint on [dbo].[T_DUALISHELYSZINTIPUS]...';
GO
ALTER TABLE [dbo].[T_DUALISHELYSZINTIPUS]
ADD DEFAULT ('F') FOR [TOROLT];
GO
PRINT N'Creating Default Constraint unnamed constraint on [dbo].[T_DUALISHELYSZINTIPUS]...';
GO
ALTER TABLE [dbo].[T_DUALISHELYSZINTIPUS]
ADD DEFAULT (getdate()) FOR [CREATED];
GO
PRINT N'Creating Default Constraint unnamed constraint on [dbo].[T_DUALISHELYSZINTIPUS]...';
GO
ALTER TABLE [dbo].[T_DUALISHELYSZINTIPUS]
ADD DEFAULT (getdate()) FOR [LASTCHANGED];
GO
PRINT N'Creating Foreign Key [dbo].[FK_Terem_MukodesiHelyId_REF_MukodesiHely]...';
GO
ALTER TABLE [dbo].[T_TEREM] WITH NOCHECK
ADD CONSTRAINT [FK_Terem_MukodesiHelyId_REF_MukodesiHely] FOREIGN KEY ([C_MUKODESIHELYID]) REFERENCES [dbo].[T_MUKODESIHELY] ([ID]);
GO
PRINT N'Creating Foreign Key [dbo].[FK_DualisHelyszinTipus_Id_AlintezmenyId_AltanevId_REF_DictionaryItemBase]...';
GO
ALTER TABLE [dbo].[T_DUALISHELYSZINTIPUS] WITH NOCHECK
ADD CONSTRAINT [FK_DualisHelyszinTipus_Id_AlintezmenyId_AltanevId_REF_DictionaryItemBase] FOREIGN KEY ([ID], [C_ALINTEZMENYID], [C_ALTANEVID]) REFERENCES [dbo].[T_DICTIONARYITEMBASE] ([ID], [C_INTEZMENYID], [C_TANEVID]);
GO
PRINT N'Creating Foreign Key [dbo].[FK_DualisHelyszinTipus_AlIntezmenyId_REF_Intezmeny]...';
GO
ALTER TABLE [dbo].[T_DUALISHELYSZINTIPUS] WITH NOCHECK
ADD CONSTRAINT [FK_DualisHelyszinTipus_AlIntezmenyId_REF_Intezmeny] FOREIGN KEY ([C_ALINTEZMENYID]) REFERENCES [dbo].[T_INTEZMENY] ([ID]);
GO
PRINT N'Creating Foreign Key [dbo].[FK_DualisHelyszinTipus_AlTanevId_REF_Tanev]...';
GO
ALTER TABLE [dbo].[T_DUALISHELYSZINTIPUS] WITH NOCHECK
ADD CONSTRAINT [FK_DualisHelyszinTipus_AlTanevId_REF_Tanev] FOREIGN KEY ([C_ALTANEVID]) REFERENCES [dbo].[T_TANEV] ([ID]);
GO
PRINT N'Creating Foreign Key [dbo].[FK_Terem_DualisHelyszinTipusId_IntezmenyId_TanevId_REF_DualisHelyszinTipus]...';
GO
ALTER TABLE [dbo].[T_TEREM] WITH NOCHECK
ADD CONSTRAINT [FK_Terem_DualisHelyszinTipusId_IntezmenyId_TanevId_REF_DualisHelyszinTipus] FOREIGN KEY ([C_DUALISHELYSZINTIPUSID], [C_INTEZMENYID], [C_TANEVID]) REFERENCES [dbo].[T_DUALISHELYSZINTIPUS] ([ID], [C_ALINTEZMENYID], [C_ALTANEVID]);
GO
PRINT N'Creating Extended Property [dbo].[T_DUALISHELYSZINTIPUS].[ID].[MS_Description]...';
GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N'A rekord egyedi azonosítója, generált IDENTITY(1, 1) (kivéve altáblák esetén, ahol a főtábla ID-ját kapja)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_DUALISHELYSZINTIPUS', @level2type = N'COLUMN', @level2name = N'ID';
GO
PRINT N'Creating Extended Property [dbo].[T_DUALISHELYSZINTIPUS].[C_ALINTEZMENYID].[MS_Description]...';
GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N'Az intézmény ID-ja, amihez a rekord tartozik (altábla esetén)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_DUALISHELYSZINTIPUS', @level2type = N'COLUMN', @level2name = N'C_ALINTEZMENYID';
GO
PRINT N'Creating Extended Property [dbo].[T_DUALISHELYSZINTIPUS].[C_ALTANEVID].[MS_Description]...';
GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N'A tanév ID-ja, amihez a rekord tartozik (altábla esetén)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_DUALISHELYSZINTIPUS', @level2type = N'COLUMN', @level2name = N'C_ALTANEVID';
GO
PRINT N'Creating Extended Property [dbo].[T_DUALISHELYSZINTIPUS].[TOROLT].[MS_Description]...';
GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N'A rekord logikai töröltségét jelző flag', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_DUALISHELYSZINTIPUS', @level2type = N'COLUMN', @level2name = N'TOROLT';
GO
PRINT N'Creating Extended Property [dbo].[T_DUALISHELYSZINTIPUS].[SERIAL].[MS_Description]...';
GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N'Minden C# kódból történő módosítás esetén eggyel nő az értéke. Hogy párhuzamos módosítás esetnán ne íródjanak felül az adatok', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_DUALISHELYSZINTIPUS', @level2type = N'COLUMN', @level2name = N'SERIAL';
GO
PRINT N'Creating Extended Property [dbo].[T_DUALISHELYSZINTIPUS].[LASTCHANGED].[MS_Description]...';
GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N' A rekord utolsó módosításának időpontja', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_DUALISHELYSZINTIPUS', @level2type = N'COLUMN', @level2name = N'LASTCHANGED';
GO
PRINT N'Creating Extended Property [dbo].[T_DUALISHELYSZINTIPUS].[CREATED].[MS_Description]...';
GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N'A rekord létrehozásának időpontja ', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_DUALISHELYSZINTIPUS', @level2type = N'COLUMN', @level2name = N'CREATED';
GO
PRINT N'Creating Extended Property [dbo].[T_DUALISHELYSZINTIPUS].[MODIFIER].[MS_Description]...';
GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N'A rekordot utoljára módosító felhasználó ID-ja', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_DUALISHELYSZINTIPUS', @level2type = N'COLUMN', @level2name = N'MODIFIER';
GO
PRINT N'Creating Extended Property [dbo].[T_DUALISHELYSZINTIPUS].[CREATOR].[MS_Description]...';
GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N'A rekordot létrehozó felhasználó ID-ja', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_DUALISHELYSZINTIPUS', @level2type = N'COLUMN', @level2name = N'CREATOR';
GO
PRINT N'Creating Extended Property [dbo].[T_DUALISHELYSZINTIPUS].[ELOZOTANEVIREKORDID].[MS_Description]...';
GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N'A rekord előző tanévben lévő ID-ja', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_DUALISHELYSZINTIPUS', @level2type = N'COLUMN', @level2name = N'ELOZOTANEVIREKORDID';
GO
PRINT N'Creating Extended Property [dbo].[T_DUALISHELYSZINTIPUS].[ELOZOTANEVIREKORDIDA].[MS_Description]...';
GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N'A rekord előző tanévben lévő ID-ja (altábla esetén) ', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_DUALISHELYSZINTIPUS', @level2type = N'COLUMN', @level2name = N'ELOZOTANEVIREKORDIDA';
GO
PRINT N'Creating Extended Property [dbo].[T_TEREM].[C_DUALISHELYSZINTIPUSID].[MS_Description]...';
GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N'Helyszín típusa', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_TEREM', @level2type = N'COLUMN', @level2name = N'C_DUALISHELYSZINTIPUSID';
GO
PRINT N'Checking existing data against newly created constraints';
GO
ALTER TABLE [dbo].[T_TEREM] WITH CHECK CHECK CONSTRAINT [FK_Terem_MukodesiHelyId_REF_MukodesiHely];
ALTER TABLE [dbo].[T_DUALISHELYSZINTIPUS] WITH CHECK CHECK CONSTRAINT [FK_DualisHelyszinTipus_Id_AlintezmenyId_AltanevId_REF_DictionaryItemBase];
ALTER TABLE [dbo].[T_DUALISHELYSZINTIPUS] WITH CHECK CHECK CONSTRAINT [FK_DualisHelyszinTipus_AlIntezmenyId_REF_Intezmeny];
ALTER TABLE [dbo].[T_DUALISHELYSZINTIPUS] WITH CHECK CHECK CONSTRAINT [FK_DualisHelyszinTipus_AlTanevId_REF_Tanev];
ALTER TABLE [dbo].[T_TEREM] WITH CHECK CHECK CONSTRAINT [FK_Terem_DualisHelyszinTipusId_IntezmenyId_TanevId_REF_DualisHelyszinTipus];
EXEC dev.uspCreateSchemaViews 'T_TEREM, T_DUALISHELYSZINTIPUS, T_NEMKOTOTTMUNKAIDO, T_ORARENDIORA'
EXEC dev.sp_Global_GenerateAsyncAuditTriggerAll
GO
PRINT N'Update complete.';
GO