The questions can come in any order, so make sure you are selecting right option for all questions.
1. Create a procedure named 'findAmount' which takes 2 input parameters namely, personName is type of varchar2, entryTime is type of timestamp and 1 output parameter namely, travelAmount double precision. This procedure should find the amount for the travel_payment made by the person on time whose personName and entryTime is passed as an input paramter.
Hints:
Procedure name : findAmount
Parameters : personName(varchar2),entryTime(timestamp),travelAmount(double precision)
CREATE OR REPLACE PROCEDURE findAmount( personName IN VARCHAR2, entryTime IN TIMESTAMP, travelAmount OUT NUMBER ) AS BEGIN SELECT amount INTO travelAmount FROM travel_payment WHERE entry_time = entryTime AND travel_card_id = ( SELECT id FROM travel_card WHERE person_name = personName ); END; /
2. Create a procedure named 'insertRoute' which has route_name as an input parameter with varchar as its datatype. This procedure should take the count of the existing table records(route table) and add 1 with that to generate the new route id.The newly generated id along with the route_name should be inserted into the route table.
Hints:
Procedure name : insertRoute
Parameters : route_name is type of varchar
CREATE OR REPLACE PROCEDURE insertRoute( route_name IN VARCHAR2 ) AS new_route_id NUMBER; BEGIN SELECT COUNT(*) + 1 INTO new_route_id FROM route; INSERT INTO route (id, route_name) VALUES (new_route_id, route_name); COMMIT; END; /