This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,24 @@
IF OBJECT_ID('T_TARGYTANULOATLAG_OSSZES') IS NOT NULL BEGIN
DROP VIEW T_TARGYTANULOATLAG_OSSZES
END
GO
IF OBJECT_ID('T_TARGYOSZTALYATLAG') IS NOT NULL BEGIN
DROP VIEW T_TARGYOSZTALYATLAG
END
GO
IF OBJECT_ID('T_TARGYOSZTALYATLAG_OSSZES') IS NOT NULL BEGIN
DROP VIEW T_TARGYOSZTALYATLAG_OSSZES
END
GO
IF OBJECT_ID('T_TANARTARGYATLAG') IS NOT NULL BEGIN
DROP VIEW T_TANARTARGYATLAG
END
GO
IF OBJECT_ID('T_TANARTARGYATLAG_OSSZES') IS NOT NULL BEGIN
DROP VIEW T_TANARTARGYATLAG_OSSZES
END
GO

View file

@ -0,0 +1,98 @@
-- ==========================================================================================
-- Author: Telek Ákos
-- Create date: 2016.05.31.
-- Description: Törli az alkalmazottakat (akiknél csak az alapadatok vannak kitöltve)
-- ==========================================================================================
IF OBJECT_ID('sp_DeleteAlkalmazottak') IS NOT NULL BEGIN
DROP PROCEDURE sp_DeleteAlkalmazottak
END
GO
CREATE PROCEDURE sp_DeleteAlkalmazottak
@xml xml
AS
BEGIN
SET NOCOUNT ON
SET XACT_ABORT ON
DECLARE @alkalmazottId TABLE (id int);
DECLARE @torlendoId TABLE (id int);
DECLARE @inputId TABLE (id int);
INSERT INTO @inputId
SELECT
sor.value('.', 'int') AS id
FROM @xml.nodes('/Alkalmazottak/IdLista/Id') as sorok(sor)
INSERT INTO @alkalmazottId (id)
SELECT a.ID
FROM T_ALKALMAZOTT a
WHERE EXISTS (SELECT 1 FROM @inputId WHERE id = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_CSOPORT WHERE C_CSOPORTVEZETOID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_ESZKOZ WHERE C_FELELOSID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_FALIUJSAGBEJEGYZES WHERE C_BEJEGYZOID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_FOGLALKOZAS WHERE C_TANARID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_HELYETTESITESIIDOSZAK WHERE C_HELYETTESTANAROKID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_IGAZOLAS WHERE C_ROGZITOID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_JOGYAKORLAT WHERE C_JOGYAKORLATTULAJDONOSID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_NAPLOELLENORZES WHERE C_ELLENORZOSZEMELYID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_ORAK_TANAROK WHERE C_TANAROKID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_ORALATOGATAS WHERE C_ERTEKELOID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_OSZTALY WHERE C_OFOHELYETTESID = a.ID OR C_OSZTALYFONOKID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_TANARITANTARGY WHERE C_ALKALMAZOTTID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_TANITASIORA WHERE C_HELYETTESITOTANARID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_TANITASIORA WHERE C_ORATULAJDONOSID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_TANMENET WHERE C_FELTOLTOID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_TANULOERTEKELES WHERE C_ERTEKELOID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_TANULOESEMENY WHERE C_FELJEGYZOID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_TANULOKOZOSSEGISZOLGALAT WHERE C_FELJEGYZOID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_TEREM WHERE C_TEREMFELELOSID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_TEVEKENYSEG WHERE C_ESEMENYTULAJDONOSID = a.ID)
INSERT INTO @torlendoId (id)
SELECT ID
FROM T_FELHASZNALO f
WHERE EXISTS (SELECT 1 FROM @alkalmazottId WHERE id = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_CIMTARCSOPORT WHERE C_TULAJDONOSID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_CIMZETT_FALIUJSAGBEJEGYZES WHERE C_CIMZETTID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_CSATOLTFELHASZNALOK_CSATOLTJ WHERE C_CSATOLTFELHASZNALOKID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_DIGESTMESSAGEQUEUE WHERE C_RECIPIENTID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_EMAILADATOK WHERE C_EMAILCIMZETTID = f.ID OR C_KULDOID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_FELHASZNALOBELEPESTORTENET WHERE C_FELHASZNALOID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_FELHASZNALOERTESITES WHERE C_FELHASZNALOID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_FELHASZNALOERTESITESBEALLITA WHERE C_FELHASZNALOID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_IKTATOTTDOKUMENTUMOK WHERE C_DOKUMENTUMPARTNEREID = f.ID OR C_FELTOLTOFELHASZNALOID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_IMPOSITION WHERE C_BEFIZETESREKOTELEZETTFELHASZ = f.ID OR C_LETREHOZOID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_JOGOSULTFELHASZNALOK_HOZZARE WHERE C_JOGOSULTFELHASZNALOKID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_JOGOSULTSAG_FELHASZNALO WHERE C_FELHASZNALOID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_MESSAGE WHERE C_SENDERID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_OLDALLATOGATOTTSAG WHERE C_FELHASZNALOID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_ONLINEUSER WHERE C_FELHASZNALOID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_PEDAGOGUSELETPALYAMODELL WHERE C_TANARID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_PERSONMESSAGE WHERE C_RECIPIENTID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_RESZTVEVOK_TEVEKENYSEGEK WHERE C_RESZTVEVOKID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_SMS WHERE C_FELHASZNALOID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_TRANSACTION WHERE C_BEFIZETOID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_USERNOTIFICATION WHERE C_FELHASZNALOID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_USERPROFILE WHERE C_FELHASZNALOID = f.ID)
BEGIN TRY
BEGIN TRANSACTION
DELETE FROM T_FELHASZNALO_SZEREPKOR WHERE C_FELHASZNALOID IN (SELECT ID FROM @torlendoId)
DELETE FROM T_FELHASZNALOBELEPES WHERE C_FELHASZNALOID IN (SELECT ID FROM @torlendoId)
DELETE FROM T_EMAIL WHERE C_FELHASZNALOID IN (SELECT ID FROM @torlendoId)
DELETE FROM T_CIM WHERE C_FELHASZNALOID IN (SELECT ID FROM @torlendoId)
DELETE FROM T_TELEFON WHERE C_FELHASZNALOID IN (SELECT ID FROM @torlendoId)
DELETE FROM T_MUNKAUGYIADATOK WHERE C_ALKALMAZOTTID IN (SELECT ID FROM @torlendoId)
DELETE FROM T_CIMTAR WHERE C_TAGOKID IN (SELECT ID FROM @torlendoId)
DELETE FROM T_ALKALMAZOTT WHERE ID IN (SELECT ID FROM @torlendoId)
DELETE FROM T_FELHASZNALO WHERE ID IN (SELECT ID FROM @torlendoId)
select count(1) from @torlendoId
COMMIT TRANSACTION
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0 AND XACT_STATE() <> 0
ROLLBACK TRAN;
THROW --RETHROW the ERROR
END CATCH
END
GO

View file

@ -0,0 +1,95 @@
-- =============================================
-- Description: a dbo sémában lévõ egyedi view-k frissítése az intézményi sémákba
-- =============================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('dbo.sp_Global_CreateSchemaAdvancedViews') IS NOT NULL BEGIN
DROP PROCEDURE [dbo].[sp_Global_CreateSchemaAdvancedViews]
END
GO
CREATE PROCEDURE [dbo].[sp_Global_CreateSchemaAdvancedViews]
@pSchemaName NVARCHAR(100), -- pl: 'KR_BEDO_Schema' | NULL esetén az összes sémán végigmegy
@pViewNames XML -- pl: '<ViewNames><ViewName>A_VIEW_NEVE</ViewName></ViewNames>' | NULL esetén az összes egyedi view-n végigmegy
AS
BEGIN
DECLARE @objectId INT
DECLARE @viewName NVARCHAR(4000)
DECLARE @viewDefinition NVARCHAR(MAX)
DECLARE @schemaName NVARCHAR(100)
DECLARE @deleteViewSQL NVARCHAR(4000)
DECLARE @createViewSQL NVARCHAR(MAX)
DECLARE @schemaNames CURSOR
IF @pSchemaName IS NOT NULL
SET @schemaNames = CURSOR LOCAL FOR
SELECT @pSchemaName
ELSE
SET @schemaNames = CURSOR LOCAL FOR
SELECT name FROM sys.schemas
WHERE principal_id = 1 AND name LIKE 'KR[_]%[_]Schema'
ORDER BY name
DECLARE @views CURSOR
IF @pViewNames IS NOT NULL
SET @views = CURSOR LOCAL FOR
SELECT v.object_id, v.name, m.Definition
FROM sys.views v
INNER JOIN sys.sql_modules m ON v.object_id = m.object_id
INNER JOIN sys.schemas s ON s.schema_id = v.schema_id
WHERE
s.name ='dbo' AND v.name NOT LIKE '%_OSSZES'
AND v.name IN (SELECT DISTINCT ViewName.value('(.)[1]', 'varchar(100)') FROM @pViewNames.nodes('ViewNames/ViewName') AS ViewNames(ViewName))
ORDER BY v.name
ELSE
SET @views = CURSOR LOCAL FOR
SELECT v.object_id, v.name, m.Definition
FROM sys.views v
INNER JOIN sys.sql_modules m ON v.object_id = m.object_id
INNER JOIN sys.schemas s ON s.schema_id = v.schema_id
WHERE s.name ='dbo' AND v.name NOT LIKE '%_OSSZES'
ORDER BY v.name
OPEN @views
FETCH NEXT FROM @views INTO @objectId, @viewName, @viewDefinition
WHILE @@FETCH_STATUS = 0 BEGIN
IF OBJECT_ID(@objectId) IS NULL BEGIN
SET @viewDefinition = REPLACE(@viewDefinition, 'dbo.','')
SET @viewDefinition = REPLACE(@viewDefinition, '[dbo].','')
OPEN @schemaNames
FETCH NEXT FROM @schemaNames INTO @schemaName
WHILE @@FETCH_STATUS = 0 BEGIN
SET @deleteViewSQL = 'IF OBJECT_ID(''[' + @schemaName + '].' + @viewName + ''') IS NOT NULL
DROP VIEW [' + @schemaName + '].' + @viewName
SET @createViewSQL = REPLACE(@viewDefinition, 'CREATE VIEW ','CREATE VIEW [' + @schemaName + '].')
PRINT CAST(@objectId AS VARCHAR(10)) + ' ' + @viewName + ' ' + @schemaName
EXEC sp_executesql @deleteViewSQL
EXEC sp_executesql @createViewSQL
FETCH NEXT FROM @schemaNames INTO @schemaName
END
CLOSE @schemaNames
END
FETCH NEXT FROM @views INTO @objectId, @viewName, @viewDefinition
END
CLOSE @views
DEALLOCATE @views
DEALLOCATE @schemaNames
END

View file

@ -0,0 +1,67 @@
-- =============================================
-- Description: a megadott view-k törlése a megadott vagy összes sémában
-- =============================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('dbo.sp_Global_DeleteViews') IS NOT NULL BEGIN
DROP PROCEDURE [dbo].[sp_Global_DeleteViews]
END
GO
CREATE PROCEDURE [dbo].[sp_Global_DeleteViews]
@pSchemaName NVARCHAR(100), -- pl: 'KR_BEDO_Schema' | NULL esetén az összes sémán végigmegy
@pViewNames XML -- pl: '<ViewNames><ViewName>A_VIEW_NEVE</ViewName></ViewNames>'
AS
BEGIN
DECLARE @viewName NVARCHAR(4000)
DECLARE @schemaName NVARCHAR(100)
DECLARE @deleteViewSQL NVARCHAR(4000)
DECLARE @schemaNames CURSOR
IF @pSchemaName IS NOT NULL
SET @schemaNames = CURSOR LOCAL FOR
SELECT @pSchemaName
ELSE
SET @schemaNames = CURSOR LOCAL FOR
SELECT name FROM sys.schemas
WHERE principal_id = 1
ORDER BY name
DECLARE @views CURSOR
SET @views = CURSOR LOCAL FOR
SELECT DISTINCT ViewName.value('(.)[1]', 'varchar(100)') FROM @pViewNames.nodes('ViewNames/ViewName') AS ViewNames(ViewName)
OPEN @views
FETCH NEXT FROM @views INTO @viewName
WHILE @@FETCH_STATUS = 0 BEGIN
OPEN @schemaNames
FETCH NEXT FROM @schemaNames INTO @schemaName
WHILE @@FETCH_STATUS = 0 BEGIN
SET @deleteViewSQL = 'IF OBJECT_ID(''[' + @schemaName + '].' + @viewName + ''') IS NOT NULL
DROP VIEW [' + @schemaName + '].' + @viewName
PRINT @viewName + ' ' + @schemaName
EXEC sp_executesql @deleteViewSQL
FETCH NEXT FROM @schemaNames INTO @schemaName
END
CLOSE @schemaNames
FETCH NEXT FROM @views INTO @viewName
END
CLOSE @views
DEALLOCATE @views
DEALLOCATE @schemaNames
END