Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Function created.
SQL>
SQL> DECLARE
2 id1 NUMBER(10);
3 cicap NUMBER(10);
4 litre NUMBER(10,2);
5
6 BEGIN
7
8 id1:=&id1;
9 SELECT CAR_dETAILS.Edispl INTO cicap
10 FROM CAR_dETAILS
11 WHERE CAR_dETAILS.Id=id1;
12 litre:=convert3(cicap);
13 dbms_output.put_line('Engine Displacement:-');
14 dbms_output.put_line('CU.INCHES LITRES');
15 dbms_output.put_line(cicap || ' ' ||
litre);
16
17
18 EXCEPTION
19
20 WHEN no_data_found THEN
21 dbms_output.put_line('Car ID does not exist');
22
23 END;
24 /
Function created.
SQL> DECLARE
2
3 id1 NUMBER(10);
4 mpg1 NUMBER(10);
5 acc1 NUMBER(10,2);
6 model1 VARCHAR2(100);
7 desc1 VARCHAR2(100);
8
9 BEGIN
10
11 mpg1:=&mpg1;
12 acc1:=&acc1;
13
14 id1:=findc1(mpg1,acc1);
15
16 SELECT CAR_NAMES.Model,CAR_NAMES.DESCRIPTION INTO
model1,desc1
17 FROM CAR_NAMES INNER JOIN CAR_DETAILS ON
CAR_DETAILS.ID=CAR_NAMES.ID
18 WHERE CAR_NAMES.ID=id1;
19
20 dbms_output.put_line(' CAR ID ' || ' MODEL
' || ' CAR NAME ' || ' MPG ' || ' ACC
');
21 dbms_output.put_line(id1 || ' ' || model1 ||
' ' || desc1|| ' ' || mpg1 || ' ' || acc1
);
22
23 EXCEPTION
24
25 WHEN no_data_found THEN
26 dbms_output.put_line('Car MPG and ACC does not
match');
27
28
29 END;
30 /
Enter value for mpg1: 14
old 11: mpg1:=&mpg1;
new 11: mpg1:=14;
Enter value for acc1: 14.5
old 12: acc1:=&acc1;
new 12: acc1:=14.5;
CAR ID MODEL CAR NAME MPG ACC
96 ford ford gran torino 14 14.5
Function created.
SQL> DECLARE
2
3 model5 VARCHAR2(100) := '&model5';
4 distance1 NUMBER(10);
5 price1 NUMBER(10,2);
6 mpg1 NUMBER(10);
7 minmpg NUMBER(10):=0;
8 desc1 VARCHAR2(100);
9 id1 NUMBER(10);
10 cost1 NUMBER(10,2);
11
12 CURSOR getmodel(model5 IN VARCHAR2) IS
13 SELECT CAR_DETAILS.ID, CAR_DETAILS.MPG,
CAR_NAMES.DESCRIPTION
14 FROM CAR_DETAILS INNER JOIN CAR_NAMES ON
CAR_NAMES.ID=CAR_DETAILS.ID
15 WHERE CAR_NAMES.MODEL=model5;
16
17 BEGIN
18 distance1:=&distance1;
19 price1:=&price1;
20
21
dbms_output.put_line('****************************************
********************');
22 dbms_output.put_line('Model: ' || model5);
23 dbms_output.put_line('Distance(miles): ' || distance1 ||
' ' || 'Price($/Gallon): $' || price1);
24
dbms_output.put_line('****************************************
********************');
25 dbms_output.put_line('Car ID Desccription
MPG Fuel Cost' );
26 OPEN getmodel(model5);
27
28 LOOP
29 FETCH getmodel INTO id1,mpg1,desc1;
30 EXIT when getmodel%notfound;
31 minmpg:=findu1(minmpg,mpg1);
32 cost1:=(distance1*price1)/mpg1;
33 dbms_output.put_line(id1 || ' ' || desc1
|| ' ' || mpg1 || ' ' ||
cost1);
34 END LOOP;
35
dbms_output.put_line('****************************************
********************');
36 SELECT CAR_DETAILS.ID, CAR_NAMES.DESCRIPTION INTO
id1,desc1
37 FROM CAR_DETAILS INNER JOIN CAR_NAMES ON
CAR_NAMES.ID=CAR_DETAILS.ID
38 WHERE CAR_DETAILS.MPG=minmpg AND CAR_NAMES.MODEL=model5;
39 dbms_output.put_line('Car ID: ' || id1 || ', Name: ' ||
desc1 || ' is the best car for your trip!');
40
dbms_output.put_line('****************************************
********************');
41 dbms_output.put_line('Enjoy your trip with the lowest
fuel consumption and cost !!!!!!!');
42
dbms_output.put_line('****************************************
********************');
43
44 END;
45 /
Enter value for model5: opel
old 3: model5 VARCHAR2(100) := '&model5';
new 3: model5 VARCHAR2(100) := 'opel';
Enter value for distance1: 100
old 18: distance1:=&distance1;
new 18: distance1:=100;
Enter value for price1: 2
old 19: price1:=&price1;
new 19: price1:=2;
************************************************************
Model: opel
Distance(miles): 100 Price($/Gallon): $2
************************************************************
Car ID Desccription MPG
Fuel Cost
58 opel 1900 28
7.14
126 opel manta 24
8.33
151 opel manta 26
7.69
191 opel 1900 25
8
************************************************************
Car ID: 58, Name: opel 1900 is the best car for your trip!
************************************************************
Enjoy your trip with the lowest fuel consumption and cost
!!!!!!!
************************************************************