Files
kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20171114140200_KRETA_4170_2/updateCsengetesiRendOraEsOrarendiOra.sql
2024-03-13 00:33:46 +01:00

36 lines
1.2 KiB
Transact-SQL

UPDATE csro
SET csro.TOROLT = 'T'
FROM T_CSENGETESIRENDORA csro
INNER JOIN
(SELECT C_CSENGETESIRENDID, C_ORASZAM, C_INTEZMENYID, C_TANEVID, COUNT(1) AS CNT, MIN(ID) AS minId
FROM T_CSENGETESIRENDORA
WHERE TOROLT = 'F'
GROUP BY C_CSENGETESIRENDID, C_ORASZAM, C_INTEZMENYID, C_TANEVID
HAVING COUNT(1) > 1
) x ON csro.C_CSENGETESIRENDID = x.C_CSENGETESIRENDID AND csro.C_ORASZAM = x.C_ORASZAM AND csro.ID <> x.minId
WHERE csro.TOROLT = 'F'
UPDATE oo
SET oo.C_CSENGETESIRENDORAID = x.csroId
FROM T_ORARENDIORA oo
INNER JOIN (
SELECT TOP(3000) o.id AS ooId, cs.ID AS csroId
FROM T_ORARENDIORA o
INNER JOIN T_CSENGETESIRENDORA cs ON cs.C_ORASZAM = o.C_ORASZAM AND cs.C_CSENGETESIRENDID = o.C_CSENGETESIRENDID AND cs.TOROLT = 'F'
WHERE o.C_CSENGETESIRENDORAID <> cs.ID
) x ON oo.ID = x.ooId
WHILE @@ROWCOUNT <> 0 BEGIN
UPDATE oo
SET oo.C_CSENGETESIRENDORAID = x.csroId
FROM T_ORARENDIORA oo
INNER JOIN (
SELECT TOP(3000) o.id AS ooId, cs.ID AS csroId
FROM T_ORARENDIORA o
INNER JOIN T_CSENGETESIRENDORA cs ON cs.C_ORASZAM = o.C_ORASZAM AND cs.C_CSENGETESIRENDID = o.C_CSENGETESIRENDID AND cs.TOROLT = 'F'
WHERE o.C_CSENGETESIRENDORAID <> cs.ID
) x ON oo.ID = x.ooId
END;
GO