kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20190815143647_KRETA2_825/uspUpdateAllEgyediAzonosito.sql
2024-03-13 00:33:46 +01:00

82 lines
3.7 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS uspUpdateAllEgyediAzonosito
GO
CREATE PROCEDURE uspUpdateAllEgyediAzonosito
AS BEGIN
SET NOCOUNT ON;
DECLARE @DefaultAzonosito NVARCHAR(36) = '00000000-0000-0000-0000-000000000000'
UPDATE akt SET
akt.C_EGYEDIAZONOSITO = prev.C_EGYEDIAZONOSITO
FROM T_FELHASZNALO_OSSZES akt
INNER JOIN T_FELHASZNALO_OSSZES prev ON akt.C_INTEZMENYID = prev.C_INTEZMENYID
AND prev.C_ANYJANEVE = akt.C_ANYJANEVE
AND prev.C_SZULETESIHELY = akt.C_SZULETESIHELY
AND prev.C_SZULETESIDATUM = akt.C_SZULETESIDATUM
AND prev.C_SZULETESINEV = akt.C_SZULETESINEV
INNER JOIN T_TANEV_OSSZES akttv ON akttv.ID = akt.C_TANEVID AND akttv.C_AKTIV = 'T' AND akttv.TOROLT = 'F'
INNER JOIN T_TANEV_OSSZES prevtv ON prevtv.ID = prev.C_TANEVID AND akttv.C_SORSZAM - 2 = prevtv.C_SORSZAM AND prevtv.TOROLT = 'F'
WHERE akt.C_EGYEDIAZONOSITO = @DefaultAzonosito
UPDATE aktFelhasznalo SET
aktFelhasznalo.C_EGYEDIAZONOSITO = NEWID()
FROM T_FELHASZNALO_OSSZES aktFelhasznalo
INNER JOIN T_TANEV aktTanev ON aktTanev.ID = aktFelhasznalo.C_TANEVID AND aktTanev.C_AKTIV = 'T' AND aktTanev.TOROLT = 'F'
WHERE aktFelhasznalo.C_EGYEDIAZONOSITO = @DefaultAzonosito
UPDATE kov SET
kov.C_EGYEDIAZONOSITO = akt.C_EGYEDIAZONOSITO
FROM T_FELHASZNALO_OSSZES akt
INNER JOIN T_FELHASZNALO_OSSZES kov ON akt.C_INTEZMENYID = kov.C_INTEZMENYID
AND kov.C_ANYJANEVE = akt.C_ANYJANEVE
AND kov.C_SZULETESIHELY = akt.C_SZULETESIHELY
AND kov.C_SZULETESIDATUM = akt.C_SZULETESIDATUM
AND kov.C_SZULETESINEV = akt.C_SZULETESINEV
INNER JOIN T_TANEV_OSSZES akttv ON akttv.ID = akt.C_TANEVID AND akttv.C_AKTIV = 'T' AND akttv.TOROLT = 'F'
INNER JOIN T_TANEV_OSSZES kovtv ON kovtv.ID = kov.C_TANEVID AND kovtv.C_KOVETKEZO = 'T' AND kovtv.TOROLT = 'F'
WHERE kov.C_EGYEDIAZONOSITO = @DefaultAzonosito
UPDATE T_FELHASZNALO_OSSZES SET
C_EGYEDIAZONOSITO = NEWID()
WHERE C_EGYEDIAZONOSITO = @DefaultAzonosito
UPDATE aktg SET
aktg.C_EGYEDIAZONOSITO = prevg.C_EGYEDIAZONOSITO
FROM T_FELHASZNALO_OSSZES akt
INNER JOIN T_FELHASZNALO_OSSZES prev ON akt.C_INTEZMENYID = prev.C_INTEZMENYID
AND akt.C_EGYEDIAZONOSITO = prev.C_EGYEDIAZONOSITO
INNER JOIN T_TANEV_OSSZES akttv ON akttv.ID = akt.C_TANEVID AND akttv.C_AKTIV = 'T' AND akttv.TOROLT = 'F'
INNER JOIN T_TANEV_OSSZES prevtv ON prevtv.ID = prev.C_TANEVID AND akttv.C_SORSZAM - 2 = prevtv.C_SORSZAM AND prevtv.TOROLT = 'F'
INNER JOIN T_GONDVISELO_OSSZES aktg ON aktg.C_TANULOID = akt.ID
INNER JOIN T_GONDVISELO_OSSZES prevg ON prevg.C_TANULOID = prev.ID
WHERE aktg.C_EGYEDIAZONOSITO = @DefaultAzonosito
AND aktg.C_NEV = prevg.C_NEV
UPDATE aktg SET
aktg.C_EGYEDIAZONOSITO = NEWID()
FROM T_GONDVISELO_OSSZES aktg
INNER JOIN T_TANEV aktTanev ON aktTanev.ID = aktg.C_TANEVID AND aktTanev.C_AKTIV = 'T' AND aktTanev.TOROLT = 'F'
WHERE aktg.C_EGYEDIAZONOSITO = @DefaultAzonosito
UPDATE kovg SET
kovg.C_EGYEDIAZONOSITO = aktg.C_EGYEDIAZONOSITO
FROM T_FELHASZNALO_OSSZES akt
INNER JOIN T_FELHASZNALO_OSSZES kov ON akt.C_INTEZMENYID = kov.C_INTEZMENYID
AND kov.C_ANYJANEVE = akt.C_ANYJANEVE
AND kov.C_SZULETESIHELY = akt.C_SZULETESIHELY
AND kov.C_SZULETESIDATUM = akt.C_SZULETESIDATUM
AND kov.C_SZULETESINEV = akt.C_SZULETESINEV
INNER JOIN T_TANEV_OSSZES akttv ON akttv.ID = akt.C_TANEVID AND akttv.C_AKTIV = 'T' AND akttv.TOROLT = 'F'
INNER JOIN T_TANEV_OSSZES kovtv ON kovtv.ID = kov.C_TANEVID AND kovtv.C_KOVETKEZO = 'T' AND kovtv.TOROLT = 'F'
INNER JOIN T_GONDVISELO_OSSZES aktg ON aktg.C_TANULOID = akt.ID
INNER JOIN T_GONDVISELO_OSSZES kovg ON kovg.C_TANULOID = kov.ID
WHERE kovg.C_EGYEDIAZONOSITO = @DefaultAzonosito
AND aktg.C_NEV = kovg.C_NEV
UPDATE T_GONDVISELO_OSSZES SET
C_EGYEDIAZONOSITO = NEWID()
WHERE C_EGYEDIAZONOSITO = @DefaultAzonosito
END
GO