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

SET NUMERIC_ROUNDABORT OFF;



GO
PRINT N'Dropping [dbo].[T_TANULOCSOPORT].[C_AGAZAT].[MS_Description]...';


GO
EXECUTE sp_dropextendedproperty @name = N'MS_Description', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_TANULOCSOPORT', @level2type = N'COLUMN', @level2name = N'C_AGAZAT';


GO
PRINT N'Dropping [dbo].[T_TANULOCSOPORT].[C_RESZSZAKKEPESITES].[MS_Description]...';


GO
EXECUTE sp_dropextendedproperty @name = N'MS_Description', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_TANULOCSOPORT', @level2type = N'COLUMN', @level2name = N'C_RESZSZAKKEPESITES';


GO
PRINT N'Dropping [dbo].[T_TANULOCSOPORT].[C_SZAKKEPESITES].[MS_Description]...';


GO
EXECUTE sp_dropextendedproperty @name = N'MS_Description', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_TANULOCSOPORT', @level2type = N'COLUMN', @level2name = N'C_SZAKKEPESITES';


GO
PRINT N'Dropping [dbo].[T_TANULOCSOPORT].[C_SZAKMACSOPORT].[MS_Description]...';


GO
EXECUTE sp_dropextendedproperty @name = N'MS_Description', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_TANULOCSOPORT', @level2type = N'COLUMN', @level2name = N'C_SZAKMACSOPORT';


GO
PRINT N'Dropping [dbo].[T_TANTARGY].[NCI_Tantargy_IntezmenyId_TanevId_EslTantargyKategoriaId]...';


GO
DROP INDEX [NCI_Tantargy_IntezmenyId_TanevId_EslTantargyKategoriaId]
    ON [dbo].[T_TANTARGY];


GO
PRINT N'Dropping [dbo].[T_TANULOCSOPORT].[NCI_TanuloCsoport_IntezmenyId_TanevId_Agazat]...';


GO
DROP INDEX [NCI_TanuloCsoport_IntezmenyId_TanevId_Agazat]
    ON [dbo].[T_TANULOCSOPORT];


GO
PRINT N'Dropping [dbo].[T_TANULOCSOPORT].[NCI_TanuloCsoport_IntezmenyId_TanevId_Reszszakkepesites]...';


GO
DROP INDEX [NCI_TanuloCsoport_IntezmenyId_TanevId_Reszszakkepesites]
    ON [dbo].[T_TANULOCSOPORT];


GO
PRINT N'Dropping [dbo].[T_TANULOCSOPORT].[NCI_TanuloCsoport_IntezmenyId_TanevId_Szakkepesites]...';


GO
DROP INDEX [NCI_TanuloCsoport_IntezmenyId_TanevId_Szakkepesites]
    ON [dbo].[T_TANULOCSOPORT];


GO
PRINT N'Dropping [dbo].[T_TANULOCSOPORT].[NCI_TanuloCsoport_IntezmenyId_TanevId_Szakmacsoport]...';


GO
DROP INDEX [NCI_TanuloCsoport_IntezmenyId_TanevId_Szakmacsoport]
    ON [dbo].[T_TANULOCSOPORT];


GO
PRINT N'Dropping unnamed constraint on [dbo].[T_TANTARGY]...';


GO
EXEC dev.uspDropDefaultConstraint 'T_TANTARGY', 'C_ISOSZTALYNAPLOBANMEGJELENIK'

GO
EXEC dev.uspDropDefaultConstraint 'T_TANTARGY', 'C_ISOSZTALYORARENDBEMEGJELENIK'

GO
EXEC dev.uspDropDefaultConstraint 'T_TANTARGY', 'C_ISTANULMANYIATLAGBASZAMIT'



GO
PRINT N'Dropping [dbo].[FK_Tantargy_EslTantargyKategoriaId_IntezmenyId_TanevId_REF_ESLTantargykategoria]...';


GO
ALTER TABLE [dbo].[T_TANTARGY] DROP CONSTRAINT [FK_Tantargy_EslTantargyKategoriaId_IntezmenyId_TanevId_REF_ESLTantargykategoria];


GO
PRINT N'Dropping [dbo].[FK_TanuloCsoport_Agazat_IntezmenyId_TanevId_REF_AgazatTipus]...';


GO
ALTER TABLE [dbo].[T_TANULOCSOPORT] DROP CONSTRAINT [FK_TanuloCsoport_Agazat_IntezmenyId_TanevId_REF_AgazatTipus];


GO
PRINT N'Dropping [dbo].[FK_TanuloCsoport_Reszszakkepesites_IntezmenyId_TanevId_REF_ReszszakkepesitesTipus]...';


GO
ALTER TABLE [dbo].[T_TANULOCSOPORT] DROP CONSTRAINT [FK_TanuloCsoport_Reszszakkepesites_IntezmenyId_TanevId_REF_ReszszakkepesitesTipus];


GO
PRINT N'Dropping [dbo].[FK_TanuloCsoport_Szakkepesites_IntezmenyId_TanevId_REF_SzakkepesitesTipus]...';


GO
ALTER TABLE [dbo].[T_TANULOCSOPORT] DROP CONSTRAINT [FK_TanuloCsoport_Szakkepesites_IntezmenyId_TanevId_REF_SzakkepesitesTipus];


GO
PRINT N'Dropping [dbo].[FK_TanuloCsoport_Szakmacsoport_IntezmenyId_TanevId_REF_SzakmacsoportTipus]...';


GO
ALTER TABLE [dbo].[T_TANULOCSOPORT] DROP CONSTRAINT [FK_TanuloCsoport_Szakmacsoport_IntezmenyId_TanevId_REF_SzakmacsoportTipus];


GO
PRINT N'Altering [dbo].[T_ORARENDIORA]...';


GO
ALTER TABLE [dbo].[T_ORARENDIORA]
    ADD [C_TANEVRENDJEID] INT NULL;


GO
PRINT N'Creating [dbo].[T_ORARENDIORA].[NCI_OrarendiOra_TanevRendjeId]...';


GO
CREATE NONCLUSTERED INDEX [NCI_OrarendiOra_TanevRendjeId]
    ON [dbo].[T_ORARENDIORA]([C_TANEVRENDJEID] ASC);


GO
PRINT N'Altering [dbo].[T_TANTARGY]...';

GO
UPDATE T_TANTARGY SET C_ESLTANTARGYKATEGORIAID = 7598
WHERE C_ESLTANTARGYKATEGORIAID IS NULL;


GO
ALTER TABLE [dbo].[T_TANTARGY] DROP COLUMN [C_ISOSZTALYNAPLOBANMEGJELENIK], COLUMN [C_ISOSZTALYORARENDBEMEGJELENIK], COLUMN [C_ISTANULMANYIATLAGBASZAMIT];



GO
ALTER TABLE [dbo].[T_TANTARGY] ALTER COLUMN [C_ESLTANTARGYKATEGORIAID] INT NOT NULL;


GO
ALTER TABLE [dbo].[T_TANTARGY]
    ADD [C_ISOSZTALYNAPLOBANEMLATSZIK]   CHAR (1) DEFAULT ('F') NOT NULL,
        [C_ISOSZTALYORARENDBENEMLATSZIK] CHAR (1) DEFAULT ('F') NOT NULL,
        [C_ISTANULMANYIATLAGBANEMSZAMIT] CHAR (1) DEFAULT ('F') NOT NULL;


GO
PRINT N'Creating [dbo].[T_TANTARGY].[NCI_Tantargy_IntezmenyId_TanevId_EslTantargyKategoriaId]...';


GO
CREATE NONCLUSTERED INDEX [NCI_Tantargy_IntezmenyId_TanevId_EslTantargyKategoriaId]
    ON [dbo].[T_TANTARGY]([C_INTEZMENYID] ASC, [C_TANEVID] ASC, [C_ESLTANTARGYKATEGORIAID] ASC);



GO
PRINT N'Altering [dbo].[T_TANULOTANUGYIADATOK]...';


GO
ALTER TABLE [dbo].[T_TANULOTANUGYIADATOK]
    ADD [C_AGAZATID]            INT NULL,
        [C_RESZSZAKKEPESITESID] INT NULL,
        [C_SZAKKEPESITESID]     INT NULL,
        [C_SZAKMACSOPORTID]     INT NULL;

GO
UPDATE tta SET tta.C_AGAZATID = tcs.C_AGAZAT
  ,tta.C_RESZSZAKKEPESITESID = tcs.C_RESZSZAKKEPESITES
  ,tta.C_SZAKKEPESITESID = tcs.C_SZAKKEPESITES
  ,tta.C_SZAKMACSOPORTID = tcs.C_SZAKMACSOPORT
FROM T_TANULOTANUGYIADATOK tta
INNER JOIN T_TANULOCSOPORT tcs ON tcs.ID = tta.C_TANULOCSOPORTID;


GO
PRINT N'Altering [dbo].[T_TANULOCSOPORT]...';


GO
ALTER TABLE [dbo].[T_TANULOCSOPORT] DROP COLUMN [C_AGAZAT], COLUMN [C_RESZSZAKKEPESITES], COLUMN [C_SZAKKEPESITES], COLUMN [C_SZAKMACSOPORT];



GO
PRINT N'Creating [dbo].[T_TANULOTANUGYIADATOK].[NCI_TanuloTanugyiAdatok_IntezmenyId_TanevId_AgazatId]...';


GO
CREATE NONCLUSTERED INDEX [NCI_TanuloTanugyiAdatok_IntezmenyId_TanevId_AgazatId]
    ON [dbo].[T_TANULOTANUGYIADATOK]([C_INTEZMENYID] ASC, [C_TANEVID] ASC, [C_AGAZATID] ASC);


GO
PRINT N'Creating [dbo].[T_TANULOTANUGYIADATOK].[NCI_TanuloTanugyiAdatok_IntezmenyId_TanevId_ReszszakkepesitesId]...';


GO
CREATE NONCLUSTERED INDEX [NCI_TanuloTanugyiAdatok_IntezmenyId_TanevId_ReszszakkepesitesId]
    ON [dbo].[T_TANULOTANUGYIADATOK]([C_INTEZMENYID] ASC, [C_TANEVID] ASC, [C_RESZSZAKKEPESITESID] ASC);


GO
PRINT N'Creating [dbo].[T_TANULOTANUGYIADATOK].[NCI_TanuloTanugyiAdatok_IntezmenyId_TanevId_SzakkepesitesId]...';


GO
CREATE NONCLUSTERED INDEX [NCI_TanuloTanugyiAdatok_IntezmenyId_TanevId_SzakkepesitesId]
    ON [dbo].[T_TANULOTANUGYIADATOK]([C_INTEZMENYID] ASC, [C_TANEVID] ASC, [C_SZAKKEPESITESID] ASC);


GO
PRINT N'Creating [dbo].[T_TANULOTANUGYIADATOK].[NCI_TanuloTanugyiAdatok_IntezmenyId_TanevId_SzakmacsoportId]...';


GO
CREATE NONCLUSTERED INDEX [NCI_TanuloTanugyiAdatok_IntezmenyId_TanevId_SzakmacsoportId]
    ON [dbo].[T_TANULOTANUGYIADATOK]([C_INTEZMENYID] ASC, [C_TANEVID] ASC, [C_SZAKMACSOPORTID] ASC);


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


GO
ALTER TABLE [dbo].[T_TANTARGY]
    ADD DEFAULT ((7598)) FOR [C_ESLTANTARGYKATEGORIAID];


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


GO
ALTER TABLE [dbo].[T_TANTARGY] WITH NOCHECK
    ADD CONSTRAINT [FK_Tantargy_EslTantargyKategoriaId_IntezmenyId_TanevId_REF_ESLTantargykategoria] FOREIGN KEY ([C_ESLTANTARGYKATEGORIAID], [C_INTEZMENYID], [C_TANEVID]) REFERENCES [dbo].[T_ESLTANTARGYKATEGORIA] ([ID], [C_ALINTEZMENYID], [C_ALTANEVID]);


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


GO
ALTER TABLE [dbo].[T_ORARENDIORA] WITH NOCHECK
    ADD CONSTRAINT [FK_OrarendiOra_TanevRendjeId_REF_TanevRendje] FOREIGN KEY ([C_TANEVRENDJEID]) REFERENCES [dbo].[T_TANEVRENDJE] ([ID]);


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


GO
ALTER TABLE [dbo].[T_TANULOTANUGYIADATOK] WITH NOCHECK
    ADD CONSTRAINT [FK_TanuloTanugyiAdatok_AgazatId_IntezmenyId_TanevId_REF_AgazatTipus] FOREIGN KEY ([C_AGAZATID], [C_INTEZMENYID], [C_TANEVID]) REFERENCES [dbo].[T_AGAZATTIPUS] ([ID], [C_ALINTEZMENYID], [C_ALTANEVID]);


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


GO
ALTER TABLE [dbo].[T_TANULOTANUGYIADATOK] WITH NOCHECK
    ADD CONSTRAINT [FK_TanuloTanugyiAdatok_ReszszakkepesitesId_IntezmenyId_TanevId_REF_ReszszakkepesitesTipus] FOREIGN KEY ([C_RESZSZAKKEPESITESID], [C_INTEZMENYID], [C_TANEVID]) REFERENCES [dbo].[T_RESZSZAKKEPESITESTIPUS] ([ID], [C_ALINTEZMENYID], [C_ALTANEVID]);


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


GO
ALTER TABLE [dbo].[T_TANULOTANUGYIADATOK] WITH NOCHECK
    ADD CONSTRAINT [FK_TanuloTanugyiAdatok_SzakkepesitesId_IntezmenyId_TanevId_REF_SzakkepesitesTipus] FOREIGN KEY ([C_SZAKKEPESITESID], [C_INTEZMENYID], [C_TANEVID]) REFERENCES [dbo].[T_SZAKKEPESITESTIPUS] ([ID], [C_ALINTEZMENYID], [C_ALTANEVID]);


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


GO
ALTER TABLE [dbo].[T_TANULOTANUGYIADATOK] WITH NOCHECK
    ADD CONSTRAINT [FK_TanuloTanugyiAdatok_SzakmacsoportId_IntezmenyId_TanevId_REF_SzakmacsoportTipus] FOREIGN KEY ([C_SZAKMACSOPORTID], [C_INTEZMENYID], [C_TANEVID]) REFERENCES [dbo].[T_SZAKMACSOPORTTIPUS] ([ID], [C_ALINTEZMENYID], [C_ALTANEVID]);




GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N'Ha az érték True, akkortól kerülnek adatok a tanévbe, nebulóból ide kerülnek az új tanulók, ebbe a tanévbe léptetodnek a diákok, és ebbe a tanévbe dolgozhatnak elore az iskolák (órarend, TTF)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_TANEV', @level2type = N'COLUMN', @level2name = N'C_KOVETKEZO';



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



GO
ALTER TABLE [dbo].[T_TANTARGY] WITH CHECK CHECK CONSTRAINT [FK_Tantargy_EslTantargyKategoriaId_IntezmenyId_TanevId_REF_ESLTantargykategoria];

ALTER TABLE [dbo].[T_ORARENDIORA] WITH CHECK CHECK CONSTRAINT [FK_OrarendiOra_TanevRendjeId_REF_TanevRendje];

ALTER TABLE [dbo].[T_TANULOTANUGYIADATOK] WITH CHECK CHECK CONSTRAINT [FK_TanuloTanugyiAdatok_AgazatId_IntezmenyId_TanevId_REF_AgazatTipus];

ALTER TABLE [dbo].[T_TANULOTANUGYIADATOK] WITH CHECK CHECK CONSTRAINT [FK_TanuloTanugyiAdatok_ReszszakkepesitesId_IntezmenyId_TanevId_REF_ReszszakkepesitesTipus];

ALTER TABLE [dbo].[T_TANULOTANUGYIADATOK] WITH CHECK CHECK CONSTRAINT [FK_TanuloTanugyiAdatok_SzakkepesitesId_IntezmenyId_TanevId_REF_SzakkepesitesTipus];

ALTER TABLE [dbo].[T_TANULOTANUGYIADATOK] WITH CHECK CHECK CONSTRAINT [FK_TanuloTanugyiAdatok_SzakmacsoportId_IntezmenyId_TanevId_REF_SzakmacsoportTipus];


GO
PRINT N'Update complete.';


GO

EXEC dev.uspCreateSchemaViews 'T_TANTARGY, T_ORARENDIORA, T_TANULOTANUGYIADATOK, T_TANULOCSOPORT'
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
