MS SQLストアドプロシージャをMariaDBストアドプロシージャに変換しようとしています。MariaDB(MySQL)の更新(サブクエリ)セット.....式
これは、私は、次のように変換Mariadb(MySQLの)ストアドプロシージャの一部です:
DROP TEMPORARY TABLE IF EXISTS tt_tmpTable;
CREATE TEMPORARY TABLE tt_tmpTable
(
FNewID VARCHAR(11),
FOrderID VARCHAR(10),
FMasterYN VARCHAR(1),
FpcherCd VARCHAR(5),
FpcherNm VARCHAR(50),
FvndCd VARCHAR(7),
FvndNm VARCHAR(50),
FStep VARCHAR(5),
FrequestDt VARCHAR(8),
FConfirmDt VARCHAR(8),
FAmount NUMERIC(21,2),
FitemCd VARCHAR(6),
FitemNm VARCHAR(100),
Fqty INT,
FCost NUMERIC(21,2),
FTotalCost NUMERIC(21,2),
FAddAmt NUMERIC(21,2),
FAddMemo VARCHAR(255),
FItemDiv VARCHAR(20),
FMemo VARCHAR(255)
);
UPDATE (select FOrderID FID, sum(FTotalCost) FAMT from tt_tmpTable where FMasterYN = 'N' group by FOrderID) t
set tt_tmpTable.FAmount = t.FAMT where FOrderID = t.FID;
が、それは「エラーコードとしてエラーを仕事と取得できませんでした:tの1288 ターゲット表UPDATEは更新可能ではありません "。
だから私は誰も私がこの問題を解決するのを助けるのだろうかと思っています。
UPDATE tt_tmpTable JOIN
(select FOrderID, sum(FTotalCost) as FAMT
from tt_tmpTable
where FMasterYN = 'N'
group by FOrderID
) t
ON tt_tmpTable.FOrderID = t.tt_tmpTable
set tt_tmpTable.FAmount = t.FAMT ;
あなたの元のクエリは上で動作しません: