DECLARE @PaymentTime VARCHAR (50)
DECLARE @DueDate VARCHAR (50)
DECLARE @CustomerID int
DECLARE MYCURSOR5 CURSOR 
FOR SELECT   distinct  Payment.PaymentTime,Invoice.DueDate, Customer.CustomerID
FROM         Cus_Cred_Terms INNER JOIN
                      Customer ON Cus_Cred_Terms.CustomerID = Customer.CustomerID INNER JOIN
                      Payment ON Customer.CustomerID = Payment.CustomerID INNER JOIN
                      Invoice ON Payment.InvoiceID = Invoice.InvoiceID
open MYCURSOR5 
FETCH MYCURSOR5 INTO @PaymentTime, @DueDate, @CustomerID
WHILE @@FETCH_STATUS = 0
BEGIN 
if(@PaymentTime > @DueDate)
begin
print'payment time:'
PRINT @PaymentTime 
print'due date:'
PRINT @DueDate 
print''
print @CustomerID
print''
update dbo.Cus_Cred_Terms
set dbo.Cus_Cred_Terms.CreditAllowed = 0
FROM Cus_Cred_Terms INNER JOIN
 Customer ON Cus_Cred_Terms.CustomerID = Customer.CustomerID INNER JOIN
 Payment ON Customer.CustomerID = Payment.CustomerID
 where Customer.CustomerID = @CustomerID and dbo.Cus_Cred_Terms.CreditAllowed = 1
end
FETCH MYCURSOR5  INTO @PaymentTime, @DueDate, @CustomerID
END
CLOSE MYCURSOR5
各フィールドをループして、DueDate が実際の PaymentDate よりも小さいかどうかを確認し、小さい場合は、別のテーブルのフィールドを 0 (クレジットが許可されている場合は 1、クレジットが許可されていない場合は 0) に設定します。
問題は、これを行うためにカーソルを使用しないようにすることはできますか? さらに情報が必要な場合は、お問い合わせください。