180 lines
4.9 KiB
Transact-SQL
180 lines
4.9 KiB
Transact-SQL
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
|