[英]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_no
和regno
。 這些列名稱正確嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.