I am using a table variable and doing multiple updates on it in a procedure, is it required to put all the update statements in a transaction (BEGIN TRANSACTION...COMMIT TRANSACTION) block. Below is the small part of my codeDECLARE @tblCalcClearingCharge TABLE (Row_Id int IDENTITY(1,1), Remit_ID int, Trans_ID int, Rep_ID int, Trans_Src varchar(3), CUSIP_ID varchar(9), Prod_Type varchar(3), Prod_Sub_Type varchar(3), Agency_Principal_Ind char(1), Order_System varchar(3), Employee_Trade_Ind varchar(3), Clr_Chrg decimal(14,2), Units_Traded numeric(21,2), GDC decimal(16,2), ClrChrg_Id int, Agency_Fee decimal(14,2), Principal_Fee decimal(14,2), Order_Markup decimal(14,2), Share_Markup decimal(14,2), OrderSystem_Markup decimal(14,2), Employee_Fee decimal(14,2), Min_ClrChrg decimal(14,2), Calculated_ClrChrg decimal(14,2), Adj_ClrChrg decimal(14,2) )--add employee fee for an employee tradeUPDATE @tblCalcClearingChargeSET Calculated_ClrChrg = Calculated_ClrChrg + Employee_FeeWHERE Employee_Trade_Ind = 'Y' AND ISNULL(ClrChrg_Id, 0) <> -1--add agency fee for agency tradeUPDATE @tblCalcClearingChargeSET Calculated_ClrChrg = Calculated_ClrChrg + Agency_FeeWHERE Employee_Trade_Ind = 'N' AND Agency_Principal_Ind = 'A' AND ISNULL(ClrChrg_Id, 0) <> -1--add ordersystem markup if order system indicator is '1'UPDATE @tblCalcClearingChargeSET Calculated_ClrChrg = Calculated_ClrChrg + OrderSystem_Markup, Adj_ClrChrg = OrderSystem_MarkupWHERE Order_System = '1' AND ISNULL(ClrChrg_Id, 0) <> -1
- Anand