我通過幾個練習題工作,我已經過這個問題上運行存儲過程,我不斷收到試圖執行,說接受所有表字段並更新這些值
程序時出現錯誤消息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'
什麼是「無效」是什麼意思?是否有類別和發佈者代碼的查找表? –