私はいくつかの練習問題に取り組んでいますが、この問題に遭遇しました.次の手順を実行しようとするとエラーが発生し続けます.
メッセージ 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'