DROP PROCEDURE IF EXISTS [dbo].[sp_DeleteAllTTF] GO CREATE PROCEDURE [dbo].[sp_DeleteAllTTF] @feladatellatasiHelyId INT = NULL ,@tanevId INT AS BEGIN SET NOCOUNT ON; IF @feladatellatasiHelyId IS NULL BEGIN DELETE FROM T_FOGLALKOZAS_OSSZES WHERE ID IN ( SELECT ID FROM T_FOGLALKOZAS_OSSZES f WHERE NOT EXISTS (SELECT 1 FROM T_ORARENDIORA_OSSZES WHERE f.ID = C_FOGLALKOZASID) AND NOT EXISTS (SELECT 1 FROM T_TANITASIORA_OSSZES WHERE f.ID = C_FOGLALKOZASID) AND f.C_IMPORTALT = 'T' AND f.C_TANEVID = @tanevId ) END ELSE BEGIN -- Csak a megadott feladatellátási helyen töröl TODO:ez a rész sehonnan nincs hívvva, töröl DELETE FROM T_FOGLALKOZAS_OSSZES WHERE ID IN ( SELECT ID FROM T_FOGLALKOZAS_OSSZES f WHERE NOT EXISTS (SELECT 1 FROM T_ORARENDIORA_OSSZES WHERE f.ID = C_FOGLALKOZASID) AND NOT EXISTS (SELECT 1 FROM T_TANITASIORA_OSSZES WHERE f.ID = C_FOGLALKOZASID) AND f.C_IMPORTALT = 'T' AND f.C_OSZTALYCSOPORTID IN ( SELECT ID FROM T_OSZTALYCSOPORT_OSSZES WHERE C_FELADATELLATASIHELYID = @feladatellatasiHelyId and C_TANEVID = @tanevId ) AND f.C_TANEVID = @tanevId ) END /* * Innentől nem kell figyelni a feladatellátási helyet, * mert a NOT EXISTS (SELECT 1 FROM T_FOGLALKOZAS szerepel mindenütt */ DELETE t FROM T_TANTARGY_OSSZES t WHERE NOT EXISTS (SELECT 1 FROM T_ORATERVTARGY_OSSZES WHERE C_TANTARGYID = t.ID) AND NOT EXISTS (SELECT 1 FROM T_TANITASIORA_OSSZES WHERE C_TANTARGYID = t.ID) AND NOT EXISTS (SELECT 1 FROM T_TANMENET_OSSZES WHERE C_TANTARGYID = t.ID) AND NOT EXISTS (SELECT 1 FROM T_TANULOERTEKELES_OSSZES WHERE C_TANTARGYID = t.ID) AND NOT EXISTS (SELECT 1 FROM T_TANULOESEMENY_OSSZES WHERE C_TANTARGYID = t.ID) AND NOT EXISTS (SELECT 1 FROM T_TANULOMENTESSEG_OSSZES WHERE C_TANTARGYID = t.ID) AND NOT EXISTS (SELECT 1 FROM T_TANTARGY_OSSZES WHERE C_FOTARGYID = t.ID) AND NOT EXISTS (SELECT 1 FROM T_FOGLALKOZAS_OSSZES WHERE C_TANTARGYID = t.ID) AND NOT EXISTS (SELECT 1 FROM T_ORARENDIORA_OSSZES WHERE C_TANTARGYID = t.ID) AND C_IMPORTALT = 'T' AND C_TANEVID = @tanevId DELETE cs FROM T_CSOPORT_OSSZES cs INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = cs.ID WHERE NOT EXISTS (SELECT 1 FROM T_FOGLALKOZAS_OSSZES WHERE C_OSZTALYCSOPORTID = cs.ID) AND NOT EXISTS (SELECT 1 FROM T_ORARENDIORA_OSSZES WHERE C_OSZTALYCSOPORTID = cs.ID) AND NOT EXISTS (SELECT 1 FROM T_HITTANADATSZOLGALTATAS_OSSZES WHERE C_OSZTALYCSOPORTID = cs.ID) AND NOT EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_TANULOESEMENY WHERE C_OSZTALYCSOPORTID = cs.ID) --T_OSZTALYCSOPORT függőségeinek vizsgálata AND NOT EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_TANEVRENDJE WHERE ocs.ID = C_OSZTALYCSOPORTID) AND NOT EXISTS (SELECT 1 FROM T_TANITASIORA_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID) AND NOT EXISTS (SELECT 1 FROM T_TANMENET_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID) AND NOT EXISTS (SELECT 1 FROM T_TANULOCSOPORT_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID) AND NOT EXISTS (SELECT 1 FROM T_TANULOERTEKELES_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID) AND NOT EXISTS (SELECT 1 FROM T_FOGLALKOZAS_OSSZES WHERE C_OSZTALYCSOPORTID = ocs.ID) AND NOT EXISTS (SELECT 1 FROM T_ORARENDIORA_OSSZES WHERE C_OSZTALYCSOPORTID = ocs.ID) AND NOT EXISTS (SELECT 1 FROM T_HITTANADATSZOLGALTATAS_OSSZES WHERE C_OSZTALYCSOPORTID = ocs.ID) AND NOT EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_TANULOESEMENY WHERE C_OSZTALYCSOPORTID = ocs.ID) AND C_IMPORTALT = 'T' AND C_TANEVID = @tanevId DELETE o FROM T_OSZTALY_OSSZES o INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = o.ID WHERE NOT EXISTS (SELECT 1 FROM T_NAPLOELLENORZES_OSSZES WHERE o.ID = C_OSZTALYID) AND NOT EXISTS (SELECT 1 FROM T_FOGLALKOZAS_OSSZES WHERE C_OSZTALYCSOPORTID = o.ID) AND NOT EXISTS (SELECT 1 FROM T_CSOPORT_OSSZES WHERE C_OSZTALYBONTASID = o.ID) AND NOT EXISTS (SELECT 1 FROM T_ORARENDIORA_OSSZES WHERE C_OSZTALYCSOPORTID = o.ID) AND NOT EXISTS (SELECT 1 FROM T_HITTANADATSZOLGALTATAS_OSSZES WHERE C_OSZTALYCSOPORTID = o.ID) AND NOT EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_TANULOESEMENY WHERE C_OSZTALYCSOPORTID = o.ID) AND C_ALTANEVID = @tanevId --T_OSZTALYCSOPORT függőségeinek vizsgálata AND NOT EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_TANEVRENDJE WHERE ocs.ID = C_OSZTALYCSOPORTID) AND NOT EXISTS (SELECT 1 FROM T_TANITASIORA_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID) AND NOT EXISTS (SELECT 1 FROM T_TANMENET_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID) AND NOT EXISTS (SELECT 1 FROM T_TANULOCSOPORT_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID) AND NOT EXISTS (SELECT 1 FROM T_TANULOERTEKELES_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID) AND NOT EXISTS (SELECT 1 FROM T_FOGLALKOZAS_OSSZES WHERE C_OSZTALYCSOPORTID = ocs.ID) AND NOT EXISTS (SELECT 1 FROM T_ORARENDIORA_OSSZES WHERE C_OSZTALYCSOPORTID = ocs.ID) AND NOT EXISTS (SELECT 1 FROM T_HITTANADATSZOLGALTATAS_OSSZES WHERE C_OSZTALYCSOPORTID = ocs.ID) AND NOT EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_TANULOESEMENY WHERE C_OSZTALYCSOPORTID = ocs.ID) AND C_IMPORTALT = 'T' AND C_TANEVID = @tanevId DELETE ocs FROM T_OSZTALYCSOPORT_OSSZES ocs WHERE NOT EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_TANEVRENDJE WHERE ocs.ID = C_OSZTALYCSOPORTID) AND NOT EXISTS (SELECT 1 FROM T_TANITASIORA_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID) AND NOT EXISTS (SELECT 1 FROM T_TANMENET_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID) AND NOT EXISTS (SELECT 1 FROM T_TANULOCSOPORT_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID) AND NOT EXISTS (SELECT 1 FROM T_TANULOERTEKELES_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID) AND NOT EXISTS (SELECT 1 FROM T_FOGLALKOZAS_OSSZES WHERE C_OSZTALYCSOPORTID = ocs.ID) AND NOT EXISTS (SELECT 1 FROM T_OSZTALY_OSSZES WHERE ID = ocs.ID) AND NOT EXISTS (SELECT 1 FROM T_CSOPORT_OSSZES WHERE ID = ocs.ID) AND NOT EXISTS (SELECT 1 FROM T_ORARENDIORA_OSSZES WHERE C_OSZTALYCSOPORTID = ocs.ID) AND NOT EXISTS (SELECT 1 FROM T_HITTANADATSZOLGALTATAS_OSSZES WHERE C_OSZTALYCSOPORTID = ocs.ID) AND NOT EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_TANULOESEMENY WHERE C_OSZTALYCSOPORTID = ocs.ID) AND C_IMPORTALT = 'T' AND C_TANEVID = @tanevId END GO