BEGIN
IF new.jenis_transaksi ='Alokasi Keluar'
THEN
UPDATE prediksi_alokasi SET total_pengeluaran = (
SELECT SUM(jumlah_alokasi)
FROM alokasi_dana_desa
WHERE jenis_transaksi ='Alokasi Keluar'
AND YEAR(tanggal_alokasi) = new.YEAR(tanggal_alokasi)
AND MONTH(tanggal_alokasi) = new.MONTH(tanggal_alokasi))
WHERE bulan = new.MONTH(tanggal_alokasi);
end if ;
END
update
的正确语法为:
UPDATE prediksi_alokas pa
SET total_pengeluaran = (SELECT SUM(add.jumlah_alokasi)
FROM alokasi_dana_desa add
WHERE add.jenis_transaksi = 'Alokasi Keluar' AND
EXTRACT(YEAR_MONTH FROM add.tanggal_alokasi) = EXTRACT(YEAR_MONTH FROM new.tanggal_alokasi)
)
WHERE pa.bulan = MONTH(new.tanggal_alokasi);
这至少应该有助于触发,尽管可能还有其他问题。