kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20190108125705_OM_1977/uspDeleteInvalidLinks.sql
2024-03-13 00:33:46 +01:00

62 lines
2 KiB
Transact-SQL

-- =============================================
-- Description: Törli az egy hétnél régebbi fel nem használt linkeket, valamint a hozzájuk tartozó CSÖKKENTETT jogosultságú gondviselőket
-- =============================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[uspDeleteInvalidLinks]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[uspDeleteInvalidLinks]
END
GO
CREATE PROCEDURE [dbo].[uspDeleteInvalidLinks]
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.
SET NOCOUNT ON;
CREATE TABLE #DeletedIds ( ID INT );
DELETE FROM T_JELSZOMODOSITASLINK
OUTPUT DELETED.C_GONDVISELOID INTO #DeletedIds
WHERE (GETDATE() - 7) > C_LETREHOZASDATUMA
AND TOROLT = 'F'
UPDATE e
SET e.TOROLT = 'T'
FROM T_EMAIL e
INNER JOIN #DeletedIds gId ON gId.ID = e.C_GONDVISELOID
INNER JOIN T_GONDVISELO g ON g.ID = gId.ID AND g.C_ISCSOKKENTETTGONDVISELO = 'T'
WHERE e.TOROLT = 'F'
AND NOT EXISTS (SELECT 1 FROM T_FELHASZNALOBELEPES x WHERE g.ID = x.C_GONDVISELOID AND x.TOROLT = 'F')
AND NOT EXISTS (SELECT 1 FROM T_JELSZOMODOSITASLINK x WHERE g.ID = x.C_GONDVISELOID AND x.TOROLT = 'F')
UPDATE c
SET c.TOROLT = 'T'
FROM T_CIM c
INNER JOIN #DeletedIds gId ON gId.ID = c.C_GONDVISELOID
INNER JOIN T_GONDVISELO g ON g.ID = gId.ID AND g.C_ISCSOKKENTETTGONDVISELO = 'T'
WHERE c.TOROLT = 'F'
AND NOT EXISTS (SELECT 1 FROM T_FELHASZNALOBELEPES x WHERE g.ID = x.C_GONDVISELOID AND x.TOROLT = 'F')
AND NOT EXISTS (SELECT 1 FROM T_JELSZOMODOSITASLINK x WHERE g.ID = x.C_GONDVISELOID AND x.TOROLT = 'F')
UPDATE g
SET g.TOROLT = 'T'
FROM T_GONDVISELO g
INNER JOIN #DeletedIds d ON d.ID = g.ID
WHERE g.C_ISCSOKKENTETTGONDVISELO = 'T'
AND g.TOROLT = 'F'
AND NOT EXISTS (SELECT 1 FROM T_FELHASZNALOBELEPES x WHERE g.ID = x.C_GONDVISELOID AND x.TOROLT = 'F')
AND NOT EXISTS (SELECT 1 FROM T_JELSZOMODOSITASLINK x WHERE g.ID = x.C_GONDVISELOID AND x.TOROLT = 'F')
DROP TABLE #DeletedIds
END
GO