0

毎日実行されるストアド プロシージャを作成し、請求書の期日を過ぎているかどうかを確認しようとしています。支払われていないすべての請求書をテーブルから取得したいので、それらを調べて、今日の日付と注文が行われた日付の違いを見つけたいと思います。そこから、その注文のアカウント条件 (基本的には支払い期間) を確認し、条件を超えている場合は、サービス料金を計算して残高を更新します。何をすべきかについての基本的な考えはありますが、各レコードをループせずに選択したレコードを調べる方法がわかりません。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
4

1 に答える 1