Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Chuyển tiền giữa accountID trong MySQL

Đã thêm séc cho số tiền ở đầu quy trình và chuyển insert into transfers trước khi update các câu lệnh. Có khóa ngoại trong transfers tham chiếu bảng account bảng, vì vậy nếu bạn cố gắng chèn id mà không tồn tại nó sẽ thất bại ngay lập tức.

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. Tôi có thể thực thi nhiều truy vấn được phân tách bằng dấu chấm phẩy với MySQL Connector / J không?

  2. Cách viết thường toàn bộ chuỗi giữ chữ hoa đầu tiên trong MYSQL

  3. PHP / MySQL - Cách tốt nhất để tạo chuỗi ngẫu nhiên duy nhất?

  4. Kích hoạt thay đổi giá trị cột?

  5. Làm cách nào để lấy phần bù của một hàng cụ thể trong MySQL?