Sql 只读列表,直到列表为空。 declare @all_customers as table( CustNum int ); /* --you can insert dummy data for testing purposes like so:

Sql 只读列表,直到列表为空。 declare @all_customers as table( CustNum int ); /* --you can insert dummy data for testing purposes like so: ,sql,Sql,只读列表,直到列表为空。 declare @all_customers as table( CustNum int ); /* --you can insert dummy data for testing purposes like so: insert into @all_customers select 5, 1 union select 2, 1 --*/ while (0 < (select count(*) from @all_customers)) begi

只读列表,直到列表为空。
declare @all_customers as table(   CustNum int ); 

/* --you can insert dummy data for testing purposes like so: 
 insert into @all_customers select 5, 1 union select 2, 1 --*/  

while (0 < (select count(*) from @all_customers))
begin  
declare @current_customer int = (select top 1 CustNum from @all_customers);   
declare @balance money = (select acct_balance from [crrsql].[dbo].[Customer] where CustNum = @current_customer);  
 update [crrsql].[dbo].[Customer] set Acct_balance = 0;   
 INSERT INTO [crrsql].[dbo].[AR_Transactions] (cashier_ID, CustNum, Balance) VALUES (100199, user, abs(@balance));    
 delete @all_customers where customernumber = @current_customer;
end 
declare @all_customers as table(   CustNum int ); 
declare @all_customers as table(   CustNum int ); 

// Load customer IDs to process
insert into @all_customers select CustNum from Customers; // where <condition>?

while (0 < (select count(*) from @all_customers))
INSERT INTO [crrsql].[dbo].[AR_Transactions] (cashier_ID, CustNum, Balance)
SELECT  100199, CustNum, abs(acct_balance)
  FROM  [crrsql].[dbo].[Customer];

UPDATE [crrsql].[dbo].[Customer] set Acct_balance = 0;   
insert into @all_customers select customerIDcolumn from [crrsql].[dbo].[Customers]