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
 |