I m giving Source, Destination and Age. Write a procedure or
function, it will give to u this source to destination
tickets are available or not, if available then check this
person is senior citizen or not,if this person is senior
citizen then give some discount.
PLZ give this answer......
Thanks advance.....
Answers were Sorted based on User's Feedback
Answer / aritra
TRY THIS ONE ...
CREATE TABLE FARE_DETAILS
( SOURCE VARCHAR2(100),
DESTINATION VARCHAR2(100),
FARES NUMBER(10,2));
create or replace procedure PROC_TCKT_RESERVATION
(m_source IN VARCHAR2,
m_destination IN VARCHAR2,
m_age IN NUMBER
)
is
v_source FARE_DETAILS.SOURCE%TYPE;
v_destination FARE_DETAILS.DESTINATION%TYPE;
v_fares FARE_DETAILS.FARES%TYPE;
v_fares_out FARE_DETAILS.FARES%TYPE;
begin
IF m_source= m_destination THEN
RAISE_APPLICATION_ERROR(-20001,'SOURCE, DESTINATION
SHOULD NOT BE SAME');
END IF;
SELECT FARES
INTO v_fares
FROM FARE_DETAILS
WHERE SOURCE= m_source
AND DESTINATION= m_destination ;
IF m_age>=60 THEN
v_fares_out:= (v_fares-v_fares*0.3);
DBMS_OUTPUT.PUT_LINE('GIVEN AGE IS FOR SENIOR CITIZEN,
FARE IS '||v_fares_out);
ELSE
v_fares_out:= v_fares;
DBMS_OUTPUT.PUT_LINE(' FARE IS '||v_fares_out);
END IF;
EXCEPTION
WHEN NO_DATA_FOUND THEN
RAISE_APPLICATION_ERROR(-20001,'NO DATA FOUND ..ENTER
COREECT SOURCE/DESTINATION');
end PROC_TCKT_RESERVATION;
| Is This Answer Correct ? | 13 Yes | 1 No |
Answer / kavitha nedigunta
CREATE TABLE FARE_DETAILS
( SOURCE VARCHAR2(100),
DESTINATION VARCHAR2(100),
FARES NUMBER(10,2));
CREATE OR REPLACE FUNCTION TCKT_RESERVATION_FUN
(
I_SOURCE IN FARE_DETAILS.SOURCE%TYPE,
I_DESTINATION IN FARE_DETAILS.DESTINATION%TYPE,
I_AGE IN FARE_DETAILS.FARES%TYPE
) RETURN VARCHAR2
AS
L_OUT_PUT VARCHAR2(2000) DEFAULT NULL;
L_FARES FARE_DETAILS.FARES%TYPE;
BEGIN
IF UPPER(TRIM(I_SOURCE)) = UPPER(TRIM(I_DESTINATION)) THEN
l_OUT_PUT := 'SOURCE, DESTINATION SHOULD NOT BE SAME';
RETURN l_OUT_PUT;
END IF;
SELECT FARES INTO L_FARES FROM FARE_DETAILS
WHERE UPPER(TRIM(SOURCE)) = UPPER(TRIM(I_SOURCE))
AND UPPER(TRIM(DESTINATION)) = UPPER(TRIM
(I_DESTINATION));
IF I_AGE >=60 THEN
l_OUT_PUT:= (L_FARES-L_FARES*0.3);
ELSE
l_OUT_PUT := L_FARES;
END IF;
RETURN l_OUT_PUT;
EXCEPTION
WHEN NO_DATA_FOUND THEN
l_OUT_PUT :='NO DATA FOUND ..ENTER COREECT
SOURCE/DESTINATION';
RETURN l_OUT_PUT;
END TCKT_RESERVATION_FUN;
| Is This Answer Correct ? | 5 Yes | 1 No |
what is the difference between clustered and non clustered index in sql? : Sql dba
What is the use of time stamp in select statement?
What is data type in database?
Explain foreign key in sql?
What is the main difference between sql and pl/sql?
What is an emotional trigger?
What is a dirty read sql?
i have a customer table. trans_id trans_date trans_amt debit_credit_indicator 001 01-JAN-13 1099 cr 001 12-JAN-13 500 db 002 24-FEB-13 400 db 002 23-MAR-13 345 cr 001 18-APR-13 800 cr 002 15-MAR-13 600 db 001 12-FEB-13 200 cr i want like this output. trans_id trans_amt debit_credit_indicator i want get highest credit amount and lowest credit amount and highest debit amount and lowest debit amount for each trans_id.
Which language is used in sql?
Do view contain data?
What is the purpose of design view?
How much does a sql dba make? : SQL DBA
Oracle (3259)
SQL Server (4518)
MS Access (429)
MySQL (1402)
Postgre (483)
Sybase (267)
DB Architecture (141)
DB Administration (291)
DB Development (113)
SQL PLSQL (3330)
MongoDB (502)
IBM Informix (50)
Neo4j (82)
InfluxDB (0)
Apache CouchDB (44)
Firebird (5)
Database Management (1411)
Databases AllOther (288)