I am facing the problem while inserting data this way.

How to insert data this way using stored procedure.
INSERT INTO [dbo].tbl_Transaction
(
[FK_GameID] ,
[SpotID] ,
TransactionReason ,
TransactionType ,
TransactionAmount
--PrevAmountBalance,
-- CurrentBalance
)
SELECT tblTransaction.Row.value('@FK_GameID','BIGINT'),
tblTransaction.Row.value('@SpotID','SMALLINT'),
tblTransaction.Row.value('@TransactionReason','SMALLINT'),
tblTransaction.Row.value('@TransactionType','Varchar(50)'),
tblTransaction.Row.value('@TransactionAmount','MONEY')
--@OpeningBalance,
-- (@OpeningBalance-tblTransaction.Row.value('@TransactionAmount','MONEY'))
FROM @TransactionTable.nodes('/row') AS tblTransaction(Row)
to start the table (if you don’t have this you will have to deal with NULLs)
query: