Как проверить наличие строк и выполнить вставку - PullRequest
0 голосов
/ 25 августа 2011

Я получил следующий код SQL, мне нужно

  1. Выполнить вставку, только если код возвращает более 0 строк.
  2. Вывести на экран сообщения для человека, который выполняет сценарий, говоря: Пропущенные строки не были обнаружены или 3 отсутствующих строки были обнаружены и добавлены.

    выберите * из DistributionKey_Section, где SectionID не в ( выберите siteid с сайта, где SiteTypeCodeID IN (8) ) и DistributionKeyID НЕ В ( выберите DistributionKeyID из DistributionKey, где UnitInclusive = 1 )

1 Ответ

1 голос
/ 25 августа 2011
DECLARE
   @MissingRows int,
   @InsertedRows int    

SELECT *
FROM DistributionKey_Section
WHERE SectionID NOT IN ( select siteid from Site where SiteTypeCodeID IN(8) ) AND
      DistributionKeyID NOT IN ( SELECT DistributionKeyID FROM DistributionKey WHERE   
      UnitInclusive=1 )

SET @MissingRows = @@ROWCOUNT     

IF @MissingRows > 0
   BEGIN
   <Insert Statement/Logic>
   SET @InsertedRows = @@ROWCOUNT
   PRINT CAST(@InsertedRows as varchar(5)) + ' missing rows were detected and added'
   IF @MissingRows <> @InsertedRows 
      BEGIN
      RAISERROR('The number of rows inserted does not equal the number of rows missing', 16, 1)
      END
   END
ELSE
   PRINT 'No Missing Rows Detected' 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...