0

私はいくつかの練習問題に取り組んでいますが、この問題に遭遇しました.次の手順を実行しようとするとエラーが発生し続けます.

メッセージ 156、レベル 15、状態 1、行 1
キーワード「手順」付近の構文が正しくありません。」

誰か助けてくれませんか?

UpdateTitleすべてのテーブル列を受け入れTitle、それらの値でタイトルを更新するプロシージャを作成します。次の場合にエラー メッセージが表示されます。ISBN が存在しません。カテゴリまたは出版社コードが無効です。

Create PROCEDURE UpdateTitle (@ISBN char(10), @SuggestedPrice smallmoney,@NumberInStock smallint,@PublisherCode int,@CategoryCode int)
AS
BEGIN
IF @ISBN is null or @CategoryCode is null or @PublisherCode is null
BEGIN
 RAISERROR ('ISBN,CategoryCode, or PublisherCode is not valid please enter valid data',16,1)
END
ELSE
BEGIN    
 IF (SELECT COUNT(*) FROM Title WHERE ISBN = @ISBN) = 0
 BEGIN
    RAISERROR ('ISBN does not exist.',16,1)
 END
 ELSE
 BEGIN
    SELECT 'Table Sucessfully Updated.';
    UPDATE Title 
    SET SuggestedPrice = @SuggestedPrice
    WHERE ISBN = @ISBN;

    BEGIN
     IF (SELECT COUNT(*) FROM Title WHERE ISBN = @ISBN) = 0
     BEGIN
    RAISERROR ('ISBN does not exist.',16,1)
 END
 ELSE
 BEGIN
    SELECT 'Table Sucessfully Updated.';
    UPDATE Title 
    SET NumberInStock = @NumberInStock
    WHERE ISBN = @ISBN;
  END

          BEGIN
     IF (SELECT COUNT(*) FROM Title WHERE ISBN = @ISBN) = 0
     BEGIN
    RAISERROR ('ISBN does not exist.',16,1)
 END
 ELSE
 BEGIN
    SELECT 'Table Sucessfully Updated.';
    UPDATE Title 
    SET PublisherCode = @PublisherCode
    WHERE ISBN = @ISBN;
  END
          BEGIN
     IF (SELECT COUNT(*) FROM Title WHERE ISBN = @ISBN) = 0
     BEGIN
    RAISERROR ('ISBN does not exist.',16,1)
 END
 ELSE
 BEGIN
    SELECT 'Table Sucessfully Updated.';
    UPDATE Title 
    SET CategoryCode = @CategoryCode
    WHERE ISBN = @ISBN;
  END

 END
END
END
END
END
END
GO

それで

 Execute Procedure UpdateTitle @ISBN ='1021031040', @suggestedproce ='40' , @NumberInStock ='10', @PublisherCode = '200', @CategoryCode = '1'
4

1 に答える 1