--- CURSOR --- Use Northwind Go Declare @emp_name varchar(30) Declare @emp_last varchar(30) Declare employees_Cur cursor for Select firstname, lastname From employees Open employees_Cur Fetch next From employees_Cur into @emp_name, @emp_last while @@fetch_status = 0 begin Print @emp_name + ' ' + @emp_last print @@fetch_status Fetch next From employees_Cur into @emp_name, @emp_last end print @@fetch_status close employees_Cur deallocate employees_Cur Use AdventureWorks2014; Go -- Add New Column and Query The Table ---------------------------------------------------------- select * from Sales.SalesOrderHeader Alter table Sales.SalesOrderHeader add TotalAmt real not null default 0; select * from Sales.SalesOrderHeader; ---------------------------------------------------------- --- Use Cursor To Fill The New Column With Computed Data ------------------ --- Run Cursor --- ------------------ declare @orderId int declare @taxAmt real declare @subTotal real declare @freight real declare adventure_cursor cursor for Select SalesOrderID, SubTotal, TaxAmt, Freight From Sales.SalesOrderHeader Open adventure_cursor Fetch next From adventure_cursor into @orderId , @subTotal, @taxAmt , @freight while @@fetch_status = 0 begin update Sales.SalesOrderHeader Set TotalAmt = @subTotal + @taxAmt + @freight where SalesOrderID = @orderId Fetch next From adventure_cursor into @orderId , @subTotal, @taxAmt , @freight end close adventure_cursor deallocate adventure_cursor --Check The Result select * from Sales.SalesOrderHeader; ----------------------------------------------------------