One option is an update/join query:
update tblstationerystock s
inner join (
select stationery_code,
sum(case when trsntype = 'RECEIVED' then quantity else -quantity end) balance
from tblstationerytranscation
group by stationery_code
) t on t.stationery_code = s.stationery_code
set s.balance = t.balance
From design perspective, storing such information is not a good thing, because it is hard to keep it up to date; you might soon find yourself in need for a trigger, that automatically updates the master table whenever a transaction is inserted, modified or deleted in the other table. This is derived information, that can be computed on the fly whenever needed. For this, you can, for example, create a view:
create view w_tblstationerystock as
select s.stationery_name, s.stationery_code
(
select sum(case when trsntype = 'RECEIVED' then quantityu else -quantity end) balance
from tblstationerytranscation t
where t.stationery_code = s.stationery_code
) as balance
from tblstationerystock s
You can then run your queries directly against the view, which provides an always up-to-date perspective at your data.