﻿GO
SET ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS, ARITHABORT, CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER ON;

SET NUMERIC_ROUNDABORT OFF;



GO
PRINT N'Creating [dbo].[T_PROFILKEPFILE]...';


GO
CREATE TABLE [dbo].[T_PROFILKEPFILE] (
    [ID]                  INT      IDENTITY (1, 1) NOT NULL,
    [C_GONDVISELOID]      INT      NULL,
    [C_FELHASZNALOID]     INT      NOT NULL,
    [C_FILEID]            INT      NOT NULL,
    [C_INTEZMENYID]       INT      NOT NULL,
    [C_TANEVID]           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,
    CONSTRAINT [PK_ProfilkepFile] PRIMARY KEY CLUSTERED ([ID] ASC)
);


GO
PRINT N'Creating unnamed constraint on [dbo].[T_PROFILKEPFILE]...';


GO
ALTER TABLE [dbo].[T_PROFILKEPFILE]
    ADD DEFAULT ((0)) FOR [SERIAL];


GO
PRINT N'Creating unnamed constraint on [dbo].[T_PROFILKEPFILE]...';


GO
ALTER TABLE [dbo].[T_PROFILKEPFILE]
    ADD DEFAULT ('F') FOR [TOROLT];


GO
PRINT N'Creating unnamed constraint on [dbo].[T_PROFILKEPFILE]...';


GO
ALTER TABLE [dbo].[T_PROFILKEPFILE]
    ADD DEFAULT (getdate()) FOR [CREATED];


GO
PRINT N'Creating unnamed constraint on [dbo].[T_PROFILKEPFILE]...';


GO
ALTER TABLE [dbo].[T_PROFILKEPFILE]
    ADD DEFAULT (getdate()) FOR [LASTCHANGED];


GO
PRINT N'Creating [dbo].[FK_ProfilkepFile_GondviseloId_REF_Gondviselo]...';


GO
ALTER TABLE [dbo].[T_PROFILKEPFILE] WITH NOCHECK
    ADD CONSTRAINT [FK_ProfilkepFile_GondviseloId_REF_Gondviselo] FOREIGN KEY ([C_GONDVISELOID]) REFERENCES [dbo].[T_GONDVISELO] ([ID]);


GO
PRINT N'Creating [dbo].[FK_ProfilkepFile_FelhasznaloId_REF_Felhasznalo]...';


GO
ALTER TABLE [dbo].[T_PROFILKEPFILE] WITH NOCHECK
    ADD CONSTRAINT [FK_ProfilkepFile_FelhasznaloId_REF_Felhasznalo] FOREIGN KEY ([C_FELHASZNALOID]) REFERENCES [dbo].[T_FELHASZNALO] ([ID]);


GO
PRINT N'Creating [dbo].[FK_ProfilkepFile_FileId_REF_File]...';


GO
ALTER TABLE [dbo].[T_PROFILKEPFILE] WITH NOCHECK
    ADD CONSTRAINT [FK_ProfilkepFile_FileId_REF_File] FOREIGN KEY ([C_FILEID]) REFERENCES [dbo].[T_FILE] ([ID]);


GO
PRINT N'Creating [dbo].[FK_ProfilkepFile_IntezmenyId_REF_Intezmeny]...';


GO
ALTER TABLE [dbo].[T_PROFILKEPFILE] WITH NOCHECK
    ADD CONSTRAINT [FK_ProfilkepFile_IntezmenyId_REF_Intezmeny] FOREIGN KEY ([C_INTEZMENYID]) REFERENCES [dbo].[T_INTEZMENY] ([ID]);


GO
PRINT N'Creating [dbo].[FK_ProfilkepFile_TanevId_REF_Tanev]...';


GO
ALTER TABLE [dbo].[T_PROFILKEPFILE] WITH NOCHECK
    ADD CONSTRAINT [FK_ProfilkepFile_TanevId_REF_Tanev] FOREIGN KEY ([C_TANEVID]) REFERENCES [dbo].[T_TANEV] ([ID]);


GO
PRINT N'Creating [dbo].[T_PROFILKEPFILE].[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_PROFILKEPFILE', @level2type = N'COLUMN', @level2name = N'ID';


GO
PRINT N'Creating [dbo].[T_PROFILKEPFILE].[C_INTEZMENYID].[MS_Description]...';


GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N'Az intézmény ID-ja, amihez a rekord tartozik', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_PROFILKEPFILE', @level2type = N'COLUMN', @level2name = N'C_INTEZMENYID';


GO
PRINT N'Creating [dbo].[T_PROFILKEPFILE].[C_TANEVID].[MS_Description]...';


GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N'A tanév ID-ja, amihez a rekord tartozik', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_PROFILKEPFILE', @level2type = N'COLUMN', @level2name = N'C_TANEVID';


GO
PRINT N'Creating [dbo].[T_PROFILKEPFILE].[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_PROFILKEPFILE', @level2type = N'COLUMN', @level2name = N'TOROLT';


GO
PRINT N'Creating [dbo].[T_PROFILKEPFILE].[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_PROFILKEPFILE', @level2type = N'COLUMN', @level2name = N'SERIAL';


GO
PRINT N'Creating [dbo].[T_PROFILKEPFILE].[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_PROFILKEPFILE', @level2type = N'COLUMN', @level2name = N'LASTCHANGED';


GO
PRINT N'Creating [dbo].[T_PROFILKEPFILE].[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_PROFILKEPFILE', @level2type = N'COLUMN', @level2name = N'CREATED';


GO
PRINT N'Creating [dbo].[T_PROFILKEPFILE].[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_PROFILKEPFILE', @level2type = N'COLUMN', @level2name = N'MODIFIER';


GO
PRINT N'Creating [dbo].[T_PROFILKEPFILE].[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_PROFILKEPFILE', @level2type = N'COLUMN', @level2name = N'CREATOR';


GO
PRINT N'Creating [dbo].[T_PROFILKEPFILE].[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_PROFILKEPFILE', @level2type = N'COLUMN', @level2name = N'ELOZOTANEVIREKORDID';


GO
PRINT N'Checking existing data against newly created constraints';



GO
ALTER TABLE [dbo].[T_PROFILKEPFILE] WITH CHECK CHECK CONSTRAINT [FK_ProfilkepFile_GondviseloId_REF_Gondviselo];

ALTER TABLE [dbo].[T_PROFILKEPFILE] WITH CHECK CHECK CONSTRAINT [FK_ProfilkepFile_FelhasznaloId_REF_Felhasznalo];

ALTER TABLE [dbo].[T_PROFILKEPFILE] WITH CHECK CHECK CONSTRAINT [FK_ProfilkepFile_FileId_REF_File];

ALTER TABLE [dbo].[T_PROFILKEPFILE] WITH CHECK CHECK CONSTRAINT [FK_ProfilkepFile_IntezmenyId_REF_Intezmeny];

ALTER TABLE [dbo].[T_PROFILKEPFILE] WITH CHECK CHECK CONSTRAINT [FK_ProfilkepFile_TanevId_REF_Tanev];


GO
PRINT N'Update complete.';


GO
EXEC dev.uspCreateSchemaViews 'T_PROFILKEPFILE';
GO


EXEC dev.sp_Global_GenerateAsyncAuditTriggerAll
GO

ALTER QUEUE auditLog.[AuditQueue]
WITH ACTIVATION (
  STATUS = ON,
  PROCEDURE_NAME = auditLog.usp_AuditProcessing,
  MAX_QUEUE_READERS = 10,
  EXECUTE AS 'Kreta_tech_user'
);

GO
