データにエラーが発生した後、従業員がマネージャーの中に現れるかどうかを確認する手順を作成する必要があります。プロシージャを作成しましたが、nr に関連するエラーがあります (キーワード IF 付近の構文が正しくありません)。表示される理由と修正方法を教えてください。私は SQL Server を使用する初心者なので、どんな助けも歓迎します。
手順は次のとおりです。
CREATE PROCEDURE IsManager( @Id INT)
as
WITH Managers
AS (
SELECT id, id_manager 1 AS LEVELC
FROM [DBO].[employees]
WHERE id = @Id
UNION ALL
SELECT P.id, P.id_manager H.LEVELC+1
FROM [DBO].[employees] E
inner join Ancestors H
ON E.id=H.id_manager
)
SELECT COUNT(*) AS nr FROM (SELECT * FROM Managers where Managers.id=@Id
IF nr=0
PRINT 'Error '
ELSE
PRINT 'Your database has no errors'