init
This commit is contained in:
@@ -0,0 +1,201 @@
|
||||
GO
|
||||
PRINT N'Creating [dbo].[T_INTEZMENYESZKOZADATSZOLGALTA_OSSZES]...';
|
||||
|
||||
|
||||
GO
|
||||
CREATE VIEW dbo.T_INTEZMENYESZKOZADATSZOLGALTA_OSSZES
|
||||
AS
|
||||
SELECT *
|
||||
FROM dbo.T_INTEZMENYESZKOZADATSZOLGALTA
|
||||
|
||||
GO
|
||||
|
||||
--------------------
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_AddNewSchemaViews]
|
||||
@IntezmenyId int,
|
||||
@IntezmenyAzonosito nvarchar(30),
|
||||
@TanevId int
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
DECLARE @IntezmenyTemplate nvarchar(50) = 'KR_'+@IntezmenyAzonosito
|
||||
DECLARE @Schema nvarchar(50) = @IntezmenyTemplate+'_Schema'
|
||||
DECLARE @SchemaUser nvarchar(50) = @IntezmenyTemplate + '_user'
|
||||
DECLARE @AktivTanev nvarchar(500)
|
||||
DECLARE @Sql nvarchar(max)
|
||||
|
||||
|
||||
/*============================================================================*/
|
||||
/* View : T_INTEZMENYESZKOZADATSZOLGALTA */
|
||||
/*============================================================================*/
|
||||
/* Package: Kreta */
|
||||
IF OBJECT_ID('['+@Schema+'].T_INTEZMENYESZKOZADATSZOLGALTA', 'V') IS NOT NULL BEGIN
|
||||
SET @Sql = N'EXEC sp_refreshview ''['+@Schema+'].T_INTEZMENYESZKOZADATSZOLGALTA'''
|
||||
EXEC sp_executesql @Sql
|
||||
|
||||
IF OBJECT_ID('['+@Schema+'].T_INTEZMENYESZKOZADATSZOLGALTA_OSSZES', 'V') IS NOT NULL BEGIN
|
||||
SET @Sql = N'EXEC sp_refreshview ''['+@Schema+'].T_INTEZMENYESZKOZADATSZOLGALTA_OSSZES'''
|
||||
EXEC sp_executesql @Sql
|
||||
END
|
||||
END
|
||||
ELSE BEGIN
|
||||
/* Ha nem l<>tezik a view, akkor l<>trehozzuk */
|
||||
IF (SELECT COUNT(1)
|
||||
FROM INFORMATION_SCHEMA.COLUMNS
|
||||
WHERE TABLE_NAME = N'T_INTEZMENYESZKOZADATSZOLGALTA' AND TABLE_SCHEMA = 'dbo' AND COLUMN_NAME = 'C_TANEVID'
|
||||
) > 0
|
||||
BEGIN
|
||||
SET @AktivTanev = N' C_TANEVID = '+ CAST(@TanevId as nvarchar) +' AND '
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SET @AktivTanev = N''
|
||||
END
|
||||
|
||||
IF (SELECT COUNT(1)
|
||||
FROM INFORMATION_SCHEMA.COLUMNS
|
||||
WHERE TABLE_NAME = N'T_INTEZMENYESZKOZADATSZOLGALTA' AND TABLE_SCHEMA = 'dbo' AND COLUMN_NAME = 'C_INTEZMENYID'
|
||||
) > 0
|
||||
BEGIN
|
||||
/* T_INTEZMENYESZKOZADATSZOLGALTA */
|
||||
SET @Sql = N'CREATE VIEW ['+@Schema+'].T_INTEZMENYESZKOZADATSZOLGALTA
|
||||
AS
|
||||
SELECT *
|
||||
FROM dbo.T_INTEZMENYESZKOZADATSZOLGALTA
|
||||
WHERE '+@AktivTanev+' (TOROLT = ''F'') AND C_INTEZMENYID = '+CAST(@IntezmenyId as nvarchar)
|
||||
EXECUTE sp_executesql @Sql
|
||||
|
||||
/* T_INTEZMENYESZKOZADATSZOLGALTA_OSSZES */
|
||||
SET @Sql = N'CREATE VIEW ['+@Schema+'].T_INTEZMENYESZKOZADATSZOLGALTA_OSSZES
|
||||
AS
|
||||
SELECT *
|
||||
FROM dbo.T_INTEZMENYESZKOZADATSZOLGALTA
|
||||
WHERE C_INTEZMENYID = '+CAST(@IntezmenyId as nvarchar)
|
||||
EXECUTE sp_executesql @Sql
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
/* T_INTEZMENYESZKOZADATSZOLGALTA */
|
||||
SET @Sql = N'CREATE VIEW ['+@Schema+'].T_INTEZMENYESZKOZADATSZOLGALTA
|
||||
AS
|
||||
SELECT *
|
||||
FROM dbo.T_INTEZMENYESZKOZADATSZOLGALTA
|
||||
WHERE '+@AktivTanev+' (TOROLT = ''F'')'
|
||||
EXECUTE sp_executesql @Sql
|
||||
|
||||
/* T_INTEZMENYESZKOZADATSZOLGALTA_OSSZES */
|
||||
SET @Sql = N'CREATE VIEW ['+@Schema+'].T_INTEZMENYESZKOZADATSZOLGALTA_OSSZES
|
||||
AS
|
||||
SELECT *
|
||||
FROM dbo.T_INTEZMENYESZKOZADATSZOLGALTA'
|
||||
EXECUTE sp_executesql @Sql
|
||||
END
|
||||
END
|
||||
|
||||
END
|
||||
|
||||
GO
|
||||
|
||||
--------------------
|
||||
|
||||
DECLARE intezmenytanevekCursor CURSOR LOCAL FOR
|
||||
SELECT T_INTEZMENY.ID, T_INTEZMENY.C_AZONOSITO, T_TANEV.ID
|
||||
FROM T_INTEZMENY
|
||||
INNER JOIN T_TANEV ON T_TANEV.C_INTEZMENYID = T_INTEZMENY.ID
|
||||
WHERE T_TANEV.C_AKTIV = 'T' AND T_INTEZMENY.TOROLT = 'F'
|
||||
ORDER BY T_INTEZMENY.ID
|
||||
|
||||
DECLARE @intezmenyId int, @intezmenyAzonosito nvarchar(30), @tanevId int
|
||||
|
||||
OPEN intezmenytanevekCursor
|
||||
FETCH NEXT FROM intezmenytanevekCursor INTO @intezmenyId, @intezmenyAzonosito, @tanevId
|
||||
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
PRINT 'INTÉZMÉNY ID: ' + CAST(@intezmenyId AS NVARCHAR(10)) + ', INTÉZMÉNY AZONOSÍTÓ: ' + CAST(@intezmenyAzonosito AS NVARCHAR(30)) + ', TANÉV ID: ' + CAST(@tanevId AS NVARCHAR(10))
|
||||
EXEC sp_AddNewSchemaViews @IntezmenyId = @intezmenyId, @IntezmenyAzonosito = @intezmenyAzonosito, @TanevId = @tanevId
|
||||
|
||||
FETCH NEXT FROM intezmenytanevekCursor INTO @intezmenyId, @intezmenyAzonosito, @tanevId
|
||||
END
|
||||
|
||||
CLOSE intezmenytanevekCursor
|
||||
DEALLOCATE intezmenytanevekCursor
|
||||
|
||||
GO
|
||||
--------------------
|
||||
|
||||
DROP PROCEDURE [dbo].[sp_AddNewSchemaViews]
|
||||
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_INTEZMENYESZKOZADATSZOLGALTA', 'T_INTEZMENYESZKOZADATSZOLGALTA_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
|
||||
|
||||
|
||||
-- Triggerek inicializálás az összes táblára
|
||||
DECLARE tableCursor CURSOR LOCAL FOR
|
||||
SELECT DISTINCT TABLE_NAME
|
||||
FROM INFORMATION_SCHEMA.COLUMNS
|
||||
WHERE COLUMN_NAME IN ('CREATOR', 'MODIFIER')
|
||||
AND TABLE_NAME NOT IN ('T_ENTITYHISTORY', 'T_ENTITYATTRIBUTEHISTORY', 'T_LOG', 'T_GLOBALLOCK', 'T_USERPROFILE', 'T_OLDALLATOGATOTTSAG')
|
||||
AND TABLE_NAME IN (
|
||||
SELECT t.name
|
||||
FROM sys.tables t
|
||||
INNER JOIN sys.schemas s ON s.schema_id = t.schema_id
|
||||
WHERE s.name ='dbo'
|
||||
)
|
||||
|
||||
DECLARE @table nvarchar(35)
|
||||
|
||||
OPEN tableCursor
|
||||
FETCH NEXT FROM tableCursor INTO @table
|
||||
|
||||
WHILE @@FETCH_STATUS = 0 BEGIN
|
||||
EXEC sp_Global_CreateTriggers @table
|
||||
FETCH NEXT FROM tableCursor INTO @table
|
||||
END
|
||||
|
||||
CLOSE tableCursor
|
||||
DEALLOCATE tableCursor
|
||||
|
||||
|
||||
EXEC dev.sp_Global_GenerateAsyncAuditTriggerAll 1
|
||||
GO
|
||||
|
||||
EXEC dev.sp_Global_GenerateAsyncAuditProcedureAll
|
||||
GO
|
||||
|
||||
EXEC dev.sp_Global_GenerateAsyncAuditAuditPocessing
|
||||
GO
|
||||
|
||||
ALTER QUEUE auditlog.AuditQueue WITH STATUS=OFF, ACTIVATION
|
||||
(STATUS = OFF)
|
||||
GO
|
||||
|
||||
ALTER QUEUE auditlog.AuditQueue WITH STATUS=ON, ACTIVATION
|
||||
(STATUS = ON, MAX_QUEUE_READERS = 2)
|
||||
GO
|
Reference in New Issue
Block a user