我需要有关如何将数据从一个帐户no转移到另一个帐户no的单表中的帮助。 在此客户将从下拉列表中获取他的帐户(它将通过他的会话自动进入),并且客户必须在文本框中写入目标帐户no,并且他正在转移的金额将写在另一个文本框中。在转移金额,目的地之前帐户号码,余额金额应予以验证。
Customer_Account表:
+-----------+--------+--------+---------+--------------+
| AccountId | UserId | Status | Balance | AccountCode |
+-----------+--------+--------+---------+--------------+
| 101 | xyz | A | 2000 | SB ->Savings |
+-----------+--------+--------+---------+--------------+
| 102 | abc | A | 3000 | SV->Current |
+-----------+--------+--------+---------+--------------+
| 103 | yxz | A | 4000 | SI->Joint |
+-----------+--------+--------+---------+--------------+
对于SB MinBalance 500,SV 1000,SI 2000应具有
交易表:
TransactionID, AccountID, TransactionType, Amount, DOT, UserID ,SourceOrDestAccountId ,TransferFlag,Balance
在此如果AccountId 101想要将他的1000金额转移到AccountId 102 将记入AccountId 101,并记入AccountId 102。
答案 0 :(得分:1)
检查您的教科书中的“交易”,并了解如何明确开始交易。一旦你知道如何在事务中包装一系列语句,只需要执行所有必要的检查并在出现问题时回滚。
虽然大多数银行都允许负余额,但我猜你的作业并非如此 - 如果他们没有足够的资金来转移,那么就应该失败。如果这是真的,那么对Amount列的约束可能是有用的。然后你不需要明确检查它。如果你想允许负余额,那么我可能会编写类似这样的代码:(伪代码。我不会尝试这样做。如果你想学习,你需要自己做一些工作。):< / p>
开始交易
更新源帐户,将金额减去转帐金额
检查源帐户上的金额是否小于0.如果是,则回滚事务
更新目标帐户以按金额递增金额
提交交易
还包括您认为合适的任何其他错误检查。如何执行此操作取决于您的特定数据库。