DROP TABLE IF EXISTS tmpForSwitchDictionaryItemBase CREATE TABLE tmpForSwitchDictionaryItemBase(RegiID int, UjID int, TanevID int, C_NAME nvarchar(500), C_TYPE nvarchar(64), Torolni char(1)) DECLARE @TEMP_EnvironmentName nvarchar(1000), @TanevSorszam int, @LastTanevSorszam int SET @LastTanevSorszam = (SELECT MAX(C_SORSZAM) FROM T_TANEV WHERE TOROLT = 'F' AND (C_KOVETKEZO = 'T' OR C_AKTIV = 'T')) SET @TanevSorszam = ISNULL((SELECT TOP 1 C_SORSZAM FROM T_TANEV WHERE C_NEV = '2021/2022' ORDER BY C_SORSZAM),32) SET @TEMP_EnvironmentName = (SELECT [Value] FROM dev.EnvironmentInfo WHERE [Key] = 'Dictionary') IF (@TEMP_EnvironmentName IS NULL OR @TEMP_EnvironmentName NOT IN ('KK','NSZFH','HOI','AZURE')) BEGIN INSERT INTO T_DICTIONARYITEMBASE(C_VALUE) VALUES('Nincs Dictionary ertek a dev.EnvironmentInfo tablaban') END -- elszall a migracio ha nincs IF @TEMP_EnvironmentName = 'KK' BEGIN INSERT INTO tmpForSwitchDictionaryItemBase(RegiID, UjID, TanevID, C_NAME, C_TYPE, Torolni) SELECT DIB.ID, 1676, DIB.C_TANEVID, DIB.C_NAME, DIB.C_TYPE, 'T' FROM T_DICTIONARYITEMBASE DIB INNER JOIN T_TANEV t ON t.ID = DIB.C_TANEVID AND t.TOROLT = 'F' AND t.C_SORSZAM >= @TanevSorszam AND t.C_SORSZAM <= @LastTanevSorszam WHERE DIB.C_DICTIONARYTYPEID = 61 AND DIB.C_NAME = N'' AND DIB.TOROLT = 'F' UPDATE DIB SET DIB.TOROLT = 'T' FROM T_DICTIONARYITEMBASE DIB INNER JOIN T_TANEV t ON t.ID = DIB.C_TANEVID AND t.TOROLT = 'F' AND t.C_SORSZAM >= @TanevSorszam AND t.C_SORSZAM <= @LastTanevSorszam WHERE DIB.C_DICTIONARYTYPEID = 61 AND DIB.C_NAME = N'' AND DIB.TOROLT = 'F' UPDATE DIB SET DIB.TOROLT = 'F' FROM T_DICTIONARYITEMBASE DIB INNER JOIN T_TANEV t ON t.ID = DIB.C_TANEVID AND t.TOROLT = 'F' AND t.C_SORSZAM >= @TanevSorszam AND t.C_SORSZAM <= @LastTanevSorszam WHERE DIB.ID = 1676; END IF @TEMP_EnvironmentName = 'NSZFH' BEGIN INSERT INTO tmpForSwitchDictionaryItemBase(RegiID, UjID, TanevID, C_NAME, C_TYPE, Torolni) SELECT DIB.ID, 1676, DIB.C_TANEVID, DIB.C_NAME, DIB.C_TYPE, 'T' FROM T_DICTIONARYITEMBASE DIB INNER JOIN T_TANEV t ON t.ID = DIB.C_TANEVID AND t.TOROLT = 'F' AND t.C_SORSZAM >= @TanevSorszam AND t.C_SORSZAM <= @LastTanevSorszam WHERE DIB.C_DICTIONARYTYPEID = 61 AND DIB.C_NAME = N'' AND DIB.TOROLT = 'F' UPDATE DIB SET DIB.TOROLT = 'T' FROM T_DICTIONARYITEMBASE DIB INNER JOIN T_TANEV t ON t.ID = DIB.C_TANEVID AND t.TOROLT = 'F' AND t.C_SORSZAM >= @TanevSorszam AND t.C_SORSZAM <= @LastTanevSorszam WHERE DIB.C_DICTIONARYTYPEID = 61 AND DIB.C_NAME = N'' AND DIB.TOROLT = 'F' UPDATE DIB SET DIB.TOROLT = 'F' FROM T_DICTIONARYITEMBASE DIB INNER JOIN T_TANEV t ON t.ID = DIB.C_TANEVID AND t.TOROLT = 'F' AND t.C_SORSZAM >= @TanevSorszam AND t.C_SORSZAM <= @LastTanevSorszam WHERE DIB.ID = 1676; END IF @TEMP_EnvironmentName = 'HOI' BEGIN INSERT INTO tmpForSwitchDictionaryItemBase(RegiID, UjID, TanevID, C_NAME, C_TYPE, Torolni) SELECT DIB.ID, 1676, DIB.C_TANEVID, DIB.C_NAME, DIB.C_TYPE, 'T' FROM T_DICTIONARYITEMBASE DIB INNER JOIN T_TANEV t ON t.ID = DIB.C_TANEVID AND t.TOROLT = 'F' AND t.C_SORSZAM >= @TanevSorszam AND t.C_SORSZAM <= @LastTanevSorszam WHERE DIB.C_DICTIONARYTYPEID = 61 AND DIB.C_NAME = N'' AND DIB.TOROLT = 'F' UPDATE DIB SET DIB.TOROLT = 'T' FROM T_DICTIONARYITEMBASE DIB INNER JOIN T_TANEV t ON t.ID = DIB.C_TANEVID AND t.TOROLT = 'F' AND t.C_SORSZAM >= @TanevSorszam AND t.C_SORSZAM <= @LastTanevSorszam WHERE DIB.C_DICTIONARYTYPEID = 61 AND DIB.C_NAME = N'' AND DIB.TOROLT = 'F' UPDATE DIB SET DIB.TOROLT = 'F' FROM T_DICTIONARYITEMBASE DIB INNER JOIN T_TANEV t ON t.ID = DIB.C_TANEVID AND t.TOROLT = 'F' AND t.C_SORSZAM >= @TanevSorszam AND t.C_SORSZAM <= @LastTanevSorszam WHERE DIB.ID = 1676; END IF @TEMP_EnvironmentName = 'AZURE' BEGIN INSERT INTO tmpForSwitchDictionaryItemBase(RegiID, UjID, TanevID, C_NAME, C_TYPE, Torolni) SELECT DIB.ID, 1676, DIB.C_TANEVID, DIB.C_NAME, DIB.C_TYPE, 'T' FROM T_DICTIONARYITEMBASE DIB INNER JOIN T_TANEV t ON t.ID = DIB.C_TANEVID AND t.TOROLT = 'F' AND t.C_SORSZAM >= @TanevSorszam AND t.C_SORSZAM <= @LastTanevSorszam WHERE DIB.C_DICTIONARYTYPEID = 61 AND DIB.C_NAME = N'' AND DIB.TOROLT = 'F' UPDATE DIB SET DIB.TOROLT = 'T' FROM T_DICTIONARYITEMBASE DIB INNER JOIN T_TANEV t ON t.ID = DIB.C_TANEVID AND t.TOROLT = 'F' AND t.C_SORSZAM >= @TanevSorszam AND t.C_SORSZAM <= @LastTanevSorszam WHERE DIB.C_DICTIONARYTYPEID = 61 AND DIB.C_NAME = N'' AND DIB.TOROLT = 'F' UPDATE DIB SET DIB.TOROLT = 'F' FROM T_DICTIONARYITEMBASE DIB INNER JOIN T_TANEV t ON t.ID = DIB.C_TANEVID AND t.TOROLT = 'F' AND t.C_SORSZAM >= @TanevSorszam AND t.C_SORSZAM <= @LastTanevSorszam WHERE DIB.ID = 1676; END IF @TEMP_EnvironmentName = 'KK' BEGIN ----- 1676 ----- ----- INSERT INTO tmpForSwitchDictionaryItemBase(RegiID, UjID, TanevID, C_NAME, C_TYPE, Torolni) SELECT 1676, NULL, DIB.C_TANEVID, DIB.C_NAME, DIB.C_TYPE, 'T' FROM T_DICTIONARYITEMBASE DIB WHERE DIB.C_DICTIONARYTYPEID = 61 AND DIB.ID = 1676 AND DIB.TOROLT = 'F' UPDATE DIB SET DIB.C_VISIBLE = 'T' FROM T_DICTIONARYITEMBASE DIB WHERE DIB.C_DICTIONARYTYPEID = 61 AND DIB.ID = 1676 AND DIB.TOROLT = 'F' UPDATE dibspec SET dibspec.TOROLT = 'T' FROM T_RendszerBeallitasTipus dibspec INNER JOIN T_TANEV t ON t.ID = dibspec.C_ALTANEVID AND t.TOROLT = 'F' AND t.C_SORSZAM >= @TanevSorszam AND t.C_SORSZAM <= @LastTanevSorszam WHERE dibspec.ID = 1676 AND dibspec.TOROLT = 'F' UPDATE dib SET dib.TOROLT = 'T' FROM T_DICTIONARYITEMBASE dib WHERE dib.ID = 1676 AND dib.TOROLT = 'F' END IF @TEMP_EnvironmentName = 'NSZFH' BEGIN ----- 1676 ----- ----- INSERT INTO tmpForSwitchDictionaryItemBase(RegiID, UjID, TanevID, C_NAME, C_TYPE, Torolni) SELECT 1676, NULL, DIB.C_TANEVID, DIB.C_NAME, DIB.C_TYPE, 'T' FROM T_DICTIONARYITEMBASE DIB WHERE DIB.C_DICTIONARYTYPEID = 61 AND DIB.ID = 1676 AND DIB.TOROLT = 'F' UPDATE DIB SET DIB.C_VISIBLE = 'T' FROM T_DICTIONARYITEMBASE DIB WHERE DIB.C_DICTIONARYTYPEID = 61 AND DIB.ID = 1676 AND DIB.TOROLT = 'F' UPDATE dibspec SET dibspec.TOROLT = 'T' FROM T_RendszerBeallitasTipus dibspec INNER JOIN T_TANEV t ON t.ID = dibspec.C_ALTANEVID AND t.TOROLT = 'F' AND t.C_SORSZAM >= @TanevSorszam AND t.C_SORSZAM <= @LastTanevSorszam WHERE dibspec.ID = 1676 AND dibspec.TOROLT = 'F' UPDATE dib SET dib.TOROLT = 'T' FROM T_DICTIONARYITEMBASE dib WHERE dib.ID = 1676 AND dib.TOROLT = 'F' END IF @TEMP_EnvironmentName = 'HOI' BEGIN ----- 1676 ----- ----- INSERT INTO tmpForSwitchDictionaryItemBase(RegiID, UjID, TanevID, C_NAME, C_TYPE, Torolni) SELECT 1676, NULL, DIB.C_TANEVID, DIB.C_NAME, DIB.C_TYPE, 'T' FROM T_DICTIONARYITEMBASE DIB WHERE DIB.C_DICTIONARYTYPEID = 61 AND DIB.ID = 1676 AND DIB.TOROLT = 'F' UPDATE DIB SET DIB.C_VISIBLE = 'T' FROM T_DICTIONARYITEMBASE DIB WHERE DIB.C_DICTIONARYTYPEID = 61 AND DIB.ID = 1676 AND DIB.TOROLT = 'F' UPDATE dibspec SET dibspec.TOROLT = 'T' FROM T_RendszerBeallitasTipus dibspec INNER JOIN T_TANEV t ON t.ID = dibspec.C_ALTANEVID AND t.TOROLT = 'F' AND t.C_SORSZAM >= @TanevSorszam AND t.C_SORSZAM <= @LastTanevSorszam WHERE dibspec.ID = 1676 AND dibspec.TOROLT = 'F' UPDATE dib SET dib.TOROLT = 'T' FROM T_DICTIONARYITEMBASE dib WHERE dib.ID = 1676 AND dib.TOROLT = 'F' END IF @TEMP_EnvironmentName = 'AZURE' BEGIN ----- 1676 ----- ----- INSERT INTO tmpForSwitchDictionaryItemBase(RegiID, UjID, TanevID, C_NAME, C_TYPE, Torolni) SELECT 1676, NULL, DIB.C_TANEVID, DIB.C_NAME, DIB.C_TYPE, 'T' FROM T_DICTIONARYITEMBASE DIB WHERE DIB.C_DICTIONARYTYPEID = 61 AND DIB.ID = 1676 AND DIB.TOROLT = 'F' UPDATE DIB SET DIB.C_VISIBLE = 'T' FROM T_DICTIONARYITEMBASE DIB WHERE DIB.C_DICTIONARYTYPEID = 61 AND DIB.ID = 1676 AND DIB.TOROLT = 'F' UPDATE dibspec SET dibspec.TOROLT = 'T' FROM T_RendszerBeallitasTipus dibspec INNER JOIN T_TANEV t ON t.ID = dibspec.C_ALTANEVID AND t.TOROLT = 'F' AND t.C_SORSZAM >= @TanevSorszam AND t.C_SORSZAM <= @LastTanevSorszam WHERE dibspec.ID = 1676 AND dibspec.TOROLT = 'F' UPDATE dib SET dib.TOROLT = 'T' FROM T_DICTIONARYITEMBASE dib WHERE dib.ID = 1676 AND dib.TOROLT = 'F' END ; DISABLE TRIGGER ALL ON T_DICTIONARYITEMBASE; EXEC [dev].[uspCreateDictionaryItems] NULL, NULL; ENABLE TRIGGER ALL ON T_DICTIONARYITEMBASE; EXEC [dev].uspSwitchDictionaryItemBaseFromTmp;