procédure stockée avec if else sql server 2008

J'ai 3 tables, je dois vérifier si les grands-parents de la table id a des dossiers dans les petits-enfants de la table. Si oui, de retour oui, else return no. Voici ma procédure stockée. J'ai eu une mauvaise erreur de syntaxe. Je suis nouvelle procédure stockée. S'il vous plaît aider moi.

CREATE PROCEDURE P_Check
   @PKG_ID INT,
   @S_ID INT,
   @FLAG VCHAR(10) OUT

   DECLARE IDS CURSOR LOCAL FOR SELECT S_ID FROM T1 WHERE P_ID = @PKG_ID
   OPEN IDS
   FETCH NEXT FROM IDS into @S_ID

   WHILE @@FETCH_STATUS = 0
   BEGIN
      SELECT * FROM T2 WHERE S_ID = @S_ID

      IF @@ROWCOUNT<>0
         @FLAG = 'YES'
         RETURN 
      ELSE
         @FLAG = 'NO'

      FETCH NEXT FROM IDS into @S_ID
   END

   CLOSE IDS
   DEALLOCATE IDS

OriginalL'auteur jhon smith | 2013-04-11