Update DBMS/SQL/Week6/writeup.md
This commit is contained in:
parent
78565b88cb
commit
3f57583a7b
@ -76,20 +76,20 @@ PL/SQL procedure successfully completed.
|
|||||||
|
|
||||||
```SQL
|
```SQL
|
||||||
SQL> CREATE OR REPLACE PROCEDURE GetDriversWithoutAccidents AS
|
SQL> CREATE OR REPLACE PROCEDURE GetDriversWithoutAccidents AS
|
||||||
2 BEGIN
|
begin
|
||||||
3 FOR rec IN (
|
for rec in (
|
||||||
4 SELECT p.DRIVER_ID#, p.NAME, p.ADDRESS
|
select p.driver_id#, p.name, p.address
|
||||||
5 FROM person p
|
from person p
|
||||||
6 LEFT JOIN participated pa ON p.DRIVER_ID# = pa.DRIVER_ID#
|
left join participated pa on p.driver_id# = pa.driver_id#
|
||||||
7 WHERE pa.REPORT_NUMBER IS NULL
|
where pa.report_number is null
|
||||||
8 ) LOOP
|
) loop
|
||||||
9 DBMS_OUTPUT.PUT_LINE('Driver ID: ' || rec.DRIVER_ID# ||
|
dbms_output.put_line('driver id: ' || rec.driver_id# ||
|
||||||
|
|
||||||
10 ', Name: ' || rec.NAME ||
|
', name: ' || rec.name ||
|
||||||
11 ', Address: ' || rec.ADDRESS);
|
', address: ' || rec.address);
|
||||||
12 END LOOP;
|
end loop;
|
||||||
13 END;
|
end;
|
||||||
14 /
|
/
|
||||||
|
|
||||||
Procedure created.
|
Procedure created.
|
||||||
```
|
```
|
||||||
@ -101,3 +101,33 @@ Driver ID: 1235, Name: Rohit, Address: Banglalore India
|
|||||||
PL/SQL procedure successfully completed.
|
PL/SQL procedure successfully completed.
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Q5. Write a function that takes a REGNO as input and returns the total number of accidents in which the car was involved
|
||||||
|
```sql
|
||||||
|
SQL> create or replace function gettotalaccidentsbyregno(p_regno in varchar2)
|
||||||
|
return number
|
||||||
|
is
|
||||||
|
v_total_accidents number;
|
||||||
|
begin
|
||||||
|
select count(*)
|
||||||
|
into v_total_accidents
|
||||||
|
from participated
|
||||||
|
where regno = p_regno;
|
||||||
|
return v_total_accidents;
|
||||||
|
exception
|
||||||
|
when no_data_found then
|
||||||
|
return 0;
|
||||||
|
when others then
|
||||||
|
raise;
|
||||||
|
end;
|
||||||
|
/
|
||||||
|
|
||||||
|
Function created.
|
||||||
|
```
|
||||||
|
```SQL
|
||||||
|
SQL> SELECT GetTotalAccidentsByRegno('ABCD0001') AS Total_Accidents
|
||||||
|
2 FROM dual;
|
||||||
|
|
||||||
|
TOTAL_ACCIDENTS
|
||||||
|
---------------
|
||||||
|
1
|
||||||
|
```
|
Loading…
x
Reference in New Issue
Block a user