<?xml version="1.0" ?> 
<batchupdate menupath="Delete" description="Deletes Samples which do not have any Occurrences." 
title="Del4 Delete Samples with no Occurrences">
<SQL>

<Where keytype="Default">
DECLARE @Count INT
DECLARE @Hold INT

CREATE TABLE #LCDelete (Survey_Key char(16) COLLATE SQL_Latin1_General_CP1_CI_AS, 
        Survey_Event_key char(16) COLLATE SQL_Latin1_General_CP1_CI_AS, 
        Sample_Key char(16) COLLATE SQL_Latin1_General_CP1_CI_AS,
        Taxon_Occurrence_key char(16) COLLATE SQL_Latin1_General_CP1_CI_AS,
        Biotope_Occurrence_key char(16) COLLATE SQL_Latin1_General_CP1_CI_AS
           
         
       	)


INSERT INTO #LCDelete (Sample_Key)  
SELECT S.Sample_Key 
FROM Sample S
WHERE
NOT EXISTS (SELECT * FROM Taxon_Occurrence TOCC
WHERE TOCC.Sample_key = S.Sample_Key) AND
NOT EXISTS (SELECT * FROM Biotope_Occurrence BOCC
WHERE BOCC.Sample_key = S.Sample_Key)
 
   SET @COUNT = @@rowcount + @COUNT
   

   
   set rowcount  3000
   WHILE 1 =1 
   BEGIN
   DELETE FROM SSC
   FROM 
   SAMPLE_SOURCES SSC INNER JOIN #LCDELETE #LCD ON #LCD.SAMPLE_KEY = SSC.SAMPLE_KEY
   IF @@rowcount &#60; 3000 BREAK
   END

   set rowcount  3000
   WHILE 1 =1 
   BEGIN
   DELETE FROM SDAT
   FROM 
   SAMPLE_DATA SDAT INNER JOIN #LCDELETE #LCD ON #LCD.SAMPLE_KEY = SDAT.SAMPLE_KEY
   IF @@rowcount &#60; 3000 BREAK
   END

   set rowcount  3000
   WHILE 1 =1 
   BEGIN
   DELETE FROM SAD
   FROM 
   SAMPLE_Admin_Areas SAD INNER JOIN #LCDELETE #LCD ON #LCD.SAMPLE_KEY = SAD.SAMPLE_KEY
   IF @@rowcount &#60; 3000 BREAK
   END

   set rowcount  3000
   WHILE 1 =1 
   BEGIN
   DELETE FROM SREL1
   FROM 
   SAMPLE_RELATION SREL1 INNER JOIN #LCDELETE #LCD ON #LCD.SAMPLE_KEY = SREL1.SAMPLE_KEY_1
   IF @@rowcount &#60; 3000 BREAK
   END


   set rowcount  3000
   WHILE 1 =1 
   BEGIN
   DELETE FROM SREL2
   FROM 
   SAMPLE_RELATION SREL2 INNER JOIN #LCDELETE #LCD ON #LCD.SAMPLE_KEY = SREL2.SAMPLE_KEY_2
   IF @@rowcount &#60; 3000 BREAK
   END



   set rowcount  3000
   WHILE 1 =1 
   BEGIN
   DELETE FROM SREC
   FROM 
   SAMPLE_RECORDER SREC INNER JOIN #LCDELETE #LCD ON #LCD.SAMPLE_KEY = SREC.SAMPLE_KEY
   IF @@rowcount &#60; 3000 BREAK
   END

   set rowcount  3000
   WHILE 1 =1 
   BEGIN
   DELETE FROM S
   FROM 
   SAMPLE S INNER JOIN #LCDELETE #LCD ON #LCD.SAMPLE_KEY = S.SAMPLE_KEY
   SET @Hold = @@rowcount

   SET @COUNT = @Hold + @COUNT
   

   IF @Hold  &#60; 3000 BREAK
   END


  
   SELECT @Count AS COUNT




   DROP TABLE #LCDELETE








</Where>













</SQL>
</batchupdate>
