The questions can come in any order, so make sure you are selecting right option for all questions.
1. Create a procedure named "insert_route" which has key_id and route_name as the input parameter and status as output parameter. This procedure insert values into the table route. The values are passed as the input parameter to the procedure. Note: If the key_id value does not exists in the table, then set the status parameter as Inserted successfully. If the key_id value already exists in the table then you should handle the exception or warning by displaying the statusas Sorry duplicate key is not allowed. Hints: Procedure name: insert_route Input parameters: key_id(int) , route_name (varchar2) Output parameters: status varchar2
create or replace procedure insert_route(key_id in number, route_name in varchar2, status out varchar2)
is
begin
insert into route
values(key_id, route_name);
status := 'Inserted successfully';
exception
when dup_val_on_index then
status := 'Sorry duplicate key is not allowed';
end;
/
2. Create a procedure named "select_metro_trains" which has routeId as the input parameter and status as the output parameter. This procedure displays the id from the table metro_train where routeId passed as the input parameter. Note: If there is a chance of returning the multiple rows then you should handle the exception or warning by displaying the status SORRY PROCEDURE WONT RETURN MULTIPLE ROWS. Hints: Procedure name: select_metro_trains Input parameters: routeId (id)
create or replace procedure select_metro_trains (routeId in varchar, status out varchar)
is
mt int;
begin
select id into mt from metro_train where route_id = routeId;
status:=mt;
EXCEPTION
when too_many_rows then
status:= 'SORRY PROCEDURE WONT RETURN MULTIPLE ROWS';
END;
/