111 lines
4.0 KiB
Transact-SQL
111 lines
4.0 KiB
Transact-SQL
--Migration
|
|
CREATE TABLE [dbo].T_TANULOTANTARGYATLAG (
|
|
ID int NOT NULL IDENTITY(1,1),
|
|
C_ATLAG AS (CAST(IIF(C_OSZTALYZATSZAMA = 0, 0.0, 1.0 * C_OSZTALYZATOSSZEGE / C_OSZTALYZATSZAMA) AS NUMERIC(10,2))),
|
|
C_OSZTALYZATOSSZEGE int NOT NULL,
|
|
C_OSZTALYZATSZAMA int NOT NULL,
|
|
C_SULYOZOTTATLAG AS (CAST(IIF(C_OSZTALYZATSZAMA = 0, 0.0, 1.0 * C_SULYOZOTTOSZTALYZATOSSZEGE / C_SULYOZOTTOSZTALYZATSZAMA) AS NUMERIC(10,2))) PERSISTED,
|
|
C_SULYOZOTTOSZTALYZATOSSZEGE int NOT NULL,
|
|
C_SULYOZOTTOSZTALYZATSZAMA int NOT NULL,
|
|
C_TANTARGYID int NOT NULL,
|
|
C_TANULOID int NOT NULL,
|
|
C_INTEZMENYID int NOT NULL,
|
|
C_TANEVID int NOT NULL,
|
|
TOROLT char(1) NOT NULL DEFAULT 'F',
|
|
SERIAL int DEFAULT 0 NOT NULL,
|
|
LASTCHANGED datetime DEFAULT GETDATE() NOT NULL,
|
|
CREATED datetime DEFAULT GETDATE() NOT NULL,
|
|
MODIFIER int NULL,
|
|
CREATOR int NULL,
|
|
CONSTRAINT PK_TanuloTantargyAtlag PRIMARY KEY (ID)
|
|
)
|
|
GO
|
|
-- Generált indexek
|
|
CREATE INDEX NCI_TanuloTantargyAtlag_TantargyId ON T_TANULOTANTARGYATLAG (C_TANTARGYID)
|
|
GO
|
|
CREATE INDEX NCI_TanuloTantargyAtlag_TanuloId ON T_TANULOTANTARGYATLAG (C_TANULOID)
|
|
GO
|
|
CREATE INDEX NCI_TanuloTantargyAtlag_IntezmenyId ON T_TANULOTANTARGYATLAG (C_INTEZMENYID)
|
|
GO
|
|
CREATE INDEX NCI_TanuloTantargyAtlag_TanevId ON T_TANULOTANTARGYATLAG (C_TANEVID)
|
|
GO
|
|
|
|
-- Generált FK-k
|
|
ALTER TABLE [DBO].T_TANULOTANTARGYATLAG
|
|
ADD CONSTRAINT FK_TanuloTantargyAtlag_TantargyId_REF_Tantargy
|
|
FOREIGN KEY (C_TANTARGYID)
|
|
REFERENCES [DBO].T_TANTARGY (ID)
|
|
GO
|
|
|
|
|
|
|
|
ALTER TABLE [DBO].T_TANULOTANTARGYATLAG
|
|
ADD CONSTRAINT FK_TanuloTantargyAtlag_TanuloId_REF_Tanulo
|
|
FOREIGN KEY (C_TANULOID)
|
|
REFERENCES [DBO].T_TANULO (ID)
|
|
GO
|
|
|
|
|
|
|
|
ALTER TABLE [DBO].T_TANULOTANTARGYATLAG
|
|
ADD CONSTRAINT FK_TanuloTantargyAtlag_IntezmenyId_REF_Intezmeny
|
|
FOREIGN KEY (C_INTEZMENYID)
|
|
REFERENCES [DBO].T_INTEZMENY (ID)
|
|
GO
|
|
|
|
|
|
|
|
ALTER TABLE [DBO].T_TANULOTANTARGYATLAG
|
|
ADD CONSTRAINT FK_TanuloTantargyAtlag_TanevId_REF_Tanev
|
|
FOREIGN KEY (C_TANEVID)
|
|
REFERENCES [DBO].T_TANEV (ID)
|
|
GO
|
|
|
|
-- CLUSTERED index megváltoztatása
|
|
|
|
ALTER TABLE T_TANULOTANTARGYATLAG
|
|
DROP CONSTRAINT IF EXISTS FK_TanuloTantargyAtlag_TanuloId_REF_Tanulo;
|
|
GO
|
|
|
|
ALTER TABLE T_TANULOTANTARGYATLAG
|
|
DROP CONSTRAINT IF EXISTS FK_TanuloTantargyAtlag_TantargyId_REF_Tantargy;
|
|
GO
|
|
|
|
ALTER TABLE T_TANULOTANTARGYATLAG
|
|
DROP CONSTRAINT IF EXISTS PK_TanuloTantargyAtlag;
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT 1 FROM sys.indexes WHERE name = 'CU_TanuloTantargyAtlag_TanuloId_TantargyId') BEGIN
|
|
CREATE UNIQUE CLUSTERED INDEX CU_TanuloTantargyAtlag_TanuloId_TantargyId
|
|
ON T_TANULOTANTARGYATLAG (C_TANULOID, C_TANTARGYID)
|
|
WITH (FILLFACTOR = 80)
|
|
END
|
|
GO
|
|
|
|
IF OBJECT_ID('PK_TanuloTantargyAtlag') IS NULL BEGIN
|
|
ALTER TABLE T_TANULOTANTARGYATLAG
|
|
ADD CONSTRAINT PK_TanuloTantargyAtlag PRIMARY KEY (ID);
|
|
END
|
|
GO
|
|
|
|
DROP INDEX IF EXISTS NCI_TanuloTantargyAtlag_TanuloId ON T_TANULOTANTARGYATLAG
|
|
GO
|
|
|
|
ALTER TABLE [DBO].T_TANULOTANTARGYATLAG
|
|
ADD CONSTRAINT FK_TanuloTantargyAtlag_TantargyId_REF_Tantargy
|
|
FOREIGN KEY (C_TANTARGYID)
|
|
REFERENCES [DBO].T_TANTARGY (ID)
|
|
GO
|
|
|
|
ALTER TABLE [DBO].T_TANULOTANTARGYATLAG
|
|
ADD CONSTRAINT FK_TanuloTantargyAtlag_TanuloId_REF_Tanulo
|
|
FOREIGN KEY (C_TANULOID)
|
|
REFERENCES [DBO].T_TANULO (ID)
|
|
GO
|
|
|
|
-- View-k létrehozása
|
|
EXEC dev.uspCreateSchemaViews 'T_TANULOTANTARGYATLAG'
|
|
GO
|
|
|
|
-- audit trigger nem kell a táblához
|