/* tpc_b v.1.0.0 Stored Procedure Oracle PL-SQL per la transazione TPC-B mail@meo.bogliolo.name */ CREATE OR REPLACE PROCEDURE tcpb(Aidv INTEGER, Bidv INTEGER, Tidv INTEGER, deltav FLOAT, Abalancev OUT FLOAT) as BEGIN UPDATE accounts SET Abalance = Abalance + deltav WHERE Aid = Aidv; SELECT Abalance INTO Abalancev FROM accounts WHERE Aid = Aidv; UPDATE tellers SET Tbalance = Tbalance + deltav WHERE Tid = Tidv; UPDATE branches SET Bbalance = Bbalance + deltav WHERE Bid = Bidv ; INSERT INTO history(Tid,Bid,Aid,delta,Xtime) VALUES (Tidv, Bidv, Aidv, deltav, SYSDATE); COMMIT ; END; /