Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Mentransfer Uang antar ID akun di MySQL

Menambahkan cek untuk jumlah di awal prosedur, dan memindahkan insert into transfers sebelum update pernyataan. Ada kunci asing di transfers tabel referensi account tabel, jadi jika Anda mencoba memasukkan id yang tidak ada akan langsung gagal.

delimiter //
create procedure transfer (amount int, note varchar(50), sending_account 
int, receiving_account int)
this_proc:begin 

start transaction;

if amount <= 0 then
    leave this_proc;
end if;

insert into Transfers values 
(TransfersID, amount, sending_account, receiving_account, note, now());

update Account as A
set A.amount = A.amount - amount
where A.AccountID = sending_account;

update Account as A
set A.amount = A.amount + amount
where A.AccountID = receiving_account;

commit work;

end //
delimiter ;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. unggah banyak file ke server, dan tulis ke database

  2. Pindah dari MySQL 5.7 ke MySQL 8.0 - Yang Harus Anda Ketahui

  3. Bagaimana cara mengatur global event_scheduler=ON bahkan jika MySQL di-restart?

  4. kueri sql tidak berfungsi dengan pesanan oleh

  5. Kueri SQL untuk mencocokkan string yang dipisahkan koma dengan string yang dipisahkan koma?