Quoting Oracle Transaction Statements documentation:
A transaction is a logical, atomic unit of work that contains one or
more SQL statements. A transaction groups SQL statements so that they
are either all committed, which means they are applied to the
database, or all rolled back, which means they are undone from the
database. Oracle Database assigns every transaction a unique
identifier called a transaction ID.
Also, quoting wikipedia Transaction post:
In computer science, ACID (Atomicity, Consistency, Isolation,
Durability) is a set of properties that guarantee that database
transactions are processed reliably.
Atomicity requires that each transaction is "all or nothing": if one
part of the transaction fails, the entire transaction fails, and the
database state is left unchanged.
In your case, you can enclose all three sentences in a single transaction:
COMMIT; ''This statement ends any existing transaction in the session.
SET TRANSACTION NAME 'my_crazy_update'; ''This statement begins a transaction
''and names it sal_update (optional).
UPDATE PS_EMAIL_ADDRESSES
SET PREF_EMAIL_FLAG='N'
WHERE EMPLID IN ('K0G004');
DELETE FROM PS_EMAIL_ADDRESSES
WHERE EMPLID='K0G004' AND E_ADDR_TYPE='BUSN';
INSERT INTO PS_EMAIL_ADDRESSES
VALUES('K0G004', 'BUSN', 'ABS@GNC.COM.BZ', 'Y');
COMMIT;
This is the best approach to catch your requirement 'do all sentences at a time'.