簡體   English   中英

如何同時使用事務和存儲過程?

[英]How to use transaction and stored procedure at the same time?

創建一個存儲過程,返回我們圖書館擁有的一本書的總副本數,給定標題 A。首先,找到 A 的標准編號(S)。然后,通過 ITEM 表找到標准編號 = S 的元組. 然后,將副本數相加,得到整個圖書館系統擁有的總副本數。 請教我如何修復這些代碼?

use library;

select * from item;
DELIMITER $$
DROP PROCEDURE IF EXISTS FindNumberOfCopies;

CREATE PROCEDURE FindNumberOfCopies ( IN itemTitle varchar(150))
BEGIN
SELECT copies FROM item WHERE title = itemTitle;
ROLLBACK;
END;
START TRANSACTION;
    UPDATE item SET copies = newCopies where title = itemTitle;
COMMIT;
END
$$
DROP PROCEDURE IF EXISTS FindNumberOfCopies;
DELIMITER $$
CREATE PROCEDURE FindNumberOfCopies
( 
 IN itemTitle varchar(150)
)
BEGIN
    SELECT copies FROM item WHERE title = itemTitle;

    UPDATE item SET copies = newCopies where title = itemTitle;
END
$$
DELIMITER ;

您的select沒有任何意義。 你的交易沒有意義。 您回滾了一個甚至沒有發生的事務。

每個 sql 調用不管是一個事務。 您正在用反式包裝反式。 在此編輯的過程中,我以某種方式刪除了 1064

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM