PRINT N'Altering [dbo].[T_FELHASZNALO]...'; GO ALTER TABLE [dbo].[T_FELHASZNALO] ALTER COLUMN [C_EGYEDIAZONOSITO] NVARCHAR (36) NOT NULL; GO PRINT N'Altering [dbo].[T_GONDVISELO]...'; GO IF COL_LENGTH('dbo.T_GONDVISELO', 'C_EGYEDIAZONOSITO') IS NULL BEGIN ALTER TABLE [dbo].[T_GONDVISELO] ADD [C_EGYEDIAZONOSITO] NVARCHAR (36) DEFAULT ('00000000-0000-0000-0000-000000000000') NULL; END GO -- AKT tanév, a felhasznalobelepes GUID-ból EGYEDIAZONOSITO UPDATE g SET g.C_EGYEDIAZONOSITO = fb.C_GUID FROM T_FELHASZNALOBELEPES fb INNER JOIN T_GONDVISELO g ON fb.C_GONDVISELOID = g.ID INNER JOIN T_TANEV tv ON tv.ID = fb.C_TANEVID AND tv.C_NEV = '2018/2019' WHERE fb.TOROLT = 'F' AND g.TOROLT = 'F' AND g.C_EGYEDIAZONOSITO IS NULL GO -- AKT tanév, maradék gondviselő UPDATE g SET C_EGYEDIAZONOSITO = NEWID() FROM T_GONDVISELO g INNER JOIN T_TANEV tv ON tv.ID = g.C_TANEVID AND tv.C_NEV = '2018/2019' WHERE g.C_EGYEDIAZONOSITO IS NULL GO -- KÖV tanévre EGYEDIAZONOSITO átvezetése UPDATE g SET g.C_EGYEDIAZONOSITO = g2.C_EGYEDIAZONOSITO FROM T_GONDVISELO g INNER JOIN T_GONDVISELO g2 ON g.ELOZOTANEVIREKORDID = g2.ID WHERE g.C_EGYEDIAZONOSITO IS NULL AND g.C_EGYEDIAZONOSITO IS NOT NULL GO -- UPDATE a maradékra UPDATE g SET C_EGYEDIAZONOSITO = NEWID() FROM T_GONDVISELO g WHERE C_EGYEDIAZONOSITO IS NULL GO ALTER TABLE [dbo].[T_GONDVISELO] ALTER COLUMN [C_EGYEDIAZONOSITO] NVARCHAR (36) NOT NULL; GO PRINT N'Altering [dbo].[T_TANTERV]...'; GO ALTER TABLE [dbo].[T_TANTERV] ADD [C_VEDETT] CHAR (1) DEFAULT ('F') NOT NULL; GO PRINT N'Creating unnamed constraint on [dbo].[T_FELHASZNALO]...'; GO -- DROP régi default constraint DECLARE @sql nvarchar(max) = '' SELECT @sql = 'ALTER TABLE T_FELHASZNALO DROP CONSTRAINT ' + default_constraints.name + ';' FROM sys.all_columns INNER JOIN sys.tables ON all_columns.object_id = tables.object_id INNER JOIN sys.schemas ON tables.schema_id = schemas.schema_id INNER JOIN sys.default_constraints ON all_columns.default_object_id = default_constraints.object_id WHERE schemas.name = 'dbo' AND tables.name = 'T_FELHASZNALO' AND all_columns.name = 'C_EGYEDIAZONOSITO' EXEC sp_executesql @sql GO ALTER TABLE [dbo].[T_FELHASZNALO] ADD DEFAULT ('00000000-0000-0000-0000-000000000000') FOR [C_EGYEDIAZONOSITO]; GO -- AKT tanév, a felhasznalobelepes GUID-ból EGYEDIAZONOSITO UPDATE fh SET fh.C_EGYEDIAZONOSITO = fb.C_GUID FROM T_FELHASZNALO fh INNER JOIN T_FELHASZNALOBELEPES fb ON fb.C_FELHASZNALOID = fh.ID AND fb.C_GONDVISELOID IS NULL AND fb.TOROLT = 'F' INNER JOIN T_TANEV tv ON tv.ID = fh.C_TANEVID AND tv.C_NEV = '2018/2019' WHERE fh.TOROLT = 'F' AND (fh.C_EGYEDIAZONOSITO IS NULL OR fh.C_EGYEDIAZONOSITO = '1') -- AKT tanév, maradék felhasználónak UPDATE fh SET fh.C_EGYEDIAZONOSITO = NEWID() FROM T_FELHASZNALO fh INNER JOIN T_TANEV tv ON tv.ID = fh.C_TANEVID AND tv.C_NEV = '2018/2019' WHERE (fh.C_EGYEDIAZONOSITO IS NULL OR fh.C_EGYEDIAZONOSITO = '1') -- KÖV tanévre EGYEDIAZONOSITO átvezetése UPDATE kov SET kov.C_EGYEDIAZONOSITO = akt.C_EGYEDIAZONOSITO FROM T_FELHASZNALO akt INNER JOIN T_FELHASZNALO kov ON kov.ELOZOTANEVIREKORDID = akt.ID WHERE akt.C_EGYEDIAZONOSITO <> '1' AND (kov.C_EGYEDIAZONOSITO IS NULL OR kov.C_EGYEDIAZONOSITO = '1') AND akt.TOROLT = 'F' AND kov.TOROLT = 'F' -- UPDATE a maradékra UPDATE T_FELHASZNALO SET C_EGYEDIAZONOSITO = NEWID() WHERE (C_EGYEDIAZONOSITO IS NULL OR C_EGYEDIAZONOSITO = '1') GO PRINT N'Refreshing [dbo].[T_FELHASZNALO_OSSZES]...'; GO EXECUTE sp_refreshsqlmodule N'[dbo].[T_FELHASZNALO_OSSZES]'; GO PRINT N'Refreshing [dbo].[T_GONDVISELO_OSSZES]...'; GO EXECUTE sp_refreshsqlmodule N'[dbo].[T_GONDVISELO_OSSZES]'; GO PRINT N'Refreshing [dbo].[T_TANTERV_OSSZES]...'; GO EXECUTE sp_refreshsqlmodule N'[dbo].[T_TANTERV_OSSZES]'; GO PRINT N'Update complete.'; GO -------------------- PRINT '--- intézményi view-k (dbo táblákkal megegyező nevű és a tábla_OSSZES nevűek) frissítése ---' DECLARE @viewname nvarchar(100), @pureview nvarchar(100) DECLARE semaviewk CURSOR LOCAL FOR SELECT '['+TABLE_SCHEMA + '].[' + TABLE_NAME + ']', TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'VIEW' and TABLE_SCHEMA LIKE 'KR[_]%[_]Schema' AND TABLE_NAME in ('T_GONDVISELO', 'T_GONDVISELO_OSSZES' ,'T_TANTERV', 'T_TANTERV_OSSZES' ,'T_FELHASZNALO', 'T_FELHASZNALO_OSSZES') -- ha csak néhány VIEW frissült, akkor a gyorsabb futásért ide fel lehet sorolni ORDER BY TABLE_SCHEMA, TABLE_NAME OPEN semaviewk FETCH NEXT FROM semaviewk INTO @viewname, @pureview WHILE @@FETCH_STATUS = 0 BEGIN PRINT @viewname EXEC sp_refreshview @viewname FETCH NEXT FROM semaviewk INTO @viewname, @pureview END CLOSE semaviewk DEALLOCATE semaviewk 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