簡體   English   中英

無法使用Mysql -phpMyAdmin中的存儲過程更新表

[英]Can't update table using stored procedure in Mysql -phpMyAdmin

我正在使用從tableA的觸發器調用的過程(例如)。 在該過程中,我正在更新另一個表,即tableB。 但這不起作用,我沒有收到任何錯誤,但tableB沒有更新。 請幫助我解決此問題。

觸發器:用於表A插入前

BEGIN
   CALL his_arrear(new.Reg_No,new.Sub_Code);
END

程序:

BEGIN
   DECLARE toup integer;
    select count(*) into toup from tableA where Reg_No=reg and Sub_Code=scode;
    update tableB set his_arrear=toup where regno=reg;
END

實際上,此過程正在執行,但未更新tableB。

既然您標記了SQL,以下是我在SQL中的操作方法:

ALTER PROCEDURE his_arrear
    @reg VARCHAR(10),
    @scode VARCHAR(10)
AS
BEGIN
    DECLARE @toup INTEGER;

    SELECT COUNT(*) AS @toup
    FROM tableA
    WHERE Reg_No=@reg AND Sub_Code=@scode;

    UPDATE tableB
    SET his_arrear=ISNULL(@toup,0)
    WHERE regno=@reg;
END

筆記:
-我使用VARCHAR(10)因為您未聲明數據類型。 根據需要進行更改。
-您在命令中使用了Reg_noregno 這些列名稱正確嗎?

暫無
暫無

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

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