毎日実行されるストアド プロシージャを作成し、請求書の期日を過ぎているかどうかを確認しようとしています。支払われていないすべての請求書をテーブルから取得したいので、それらを調べて、今日の日付と注文が行われた日付の違いを見つけたいと思います。そこから、その注文のアカウント条件 (基本的には支払い期間) を確認し、条件を超えている場合は、サービス料金を計算して残高を更新します。何をすべきかについての基本的な考えはありますが、各レコードをループせずに選択したレコードを調べる方法がわかりません。SQLサーバーでそれを行うより良い方法があると思いました。
請求テーブルには、accountid、ispaid、および creationdate があります。アカウントの用語としてのアカウント テーブル。次に、必要に応じて更新するいくつかのフィールドを含む accountbalance テーブルがあります。
Accountbalance fields
balancedue
pastdue30
pastdue60
pastdue90
pastdueover90
accountid は請求書からアカウントと accountbalance に私を得ることができ、日付はそれがどれくらい経ったかを私に与えることができます。見ないと分かりにくいと思います。
これは私が基本的にやろうとしていることです。各レコードに対してそれを行う方法がわかりません
select * from invoice where ispaid = 0
days = currentdate - invoicecreationdate
switch (days)
case 30
update balance
case 60
update balance
case 90
update balance
if(days > terms)
update balance add servicecharge