Dbms Manual
Dbms Manual
INTRODUCTION TO SQL
pg. 1
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
FEATURES OF SQL:
SQL COMMANDS
DDL
DML
pg. 3
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
DELETE - deletes all records from a table, the space for the
records remain
SELECT - retrieve data from the a database
DCL
TCL
pg. 4
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
SYNTAX’S OF COMMANDS
CREATE TABLE
ALTER A TABLE
DROP TABLE
TRUNCATE TABLE
pg. 5
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
INSERT
( OR )
UPDATE
UPDATE table_name
SET column1=value, column2=value2,...
WHERE some_column=some_value;
DELETE
SELECT
SELECT column_name(s)
FROM table_name;
pg. 6
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
OUTPUT:-TABLE CREATED
OUTPUT:-
1 row created.
SQL> /
pg. 7
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
1 row created.
SQL> /
1 row created.
SQL> /
1 row created.
SQL> /
1 row created.
OUTPUT:-Table renamed.
OUTPUT:-
OUTPUT:-Table altered.
pg. 9
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
OUTPUT:-
OUTPUT:-Table dropped.
(NOT NULL)
Table created.
pg. 11
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
1 row created.
SQL> /
Enter value for rollno: 502
Enter value for name: ABI
Enter value for branch: CSE
old 1: INSERT INTO STUD
VALUES(&ROLLNO,'&NAME','&BRANCH')
new 1: INSERT INTO STUD VALUES(502,'ABI','CSE')
1 row created.
(UNIQUE)
Table created.
pg. 13
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
1 row created.
SQL> /
Enter value for rollno: 502
Enter value for name: ABI
Enter value for branch: CSE
old 1: INSERT INTO STUD
VALUES(&ROLLNO,'&NAME','&BRANCH')
new 1: INSERT INTO STUD VALUES(502,'ABI','CSE')
1 row created.
SQL> /
Enter value for rollno: 502
Enter value for name: BHAVYA
Enter value for branch: CSE
old 1: INSERT INTO STUD
VALUES(&ROLLNO,'&NAME','&BRANCH')
new 1: INSERT INTO STUD VALUES(502,'BHAVYA','CSE')
INSERT INTO STUD VALUES(502,'BHAVYA','CSE')
*
ERROR at line 1:
ORA-00001: unique constraint (SCOTT.SYS_C001290) violated
(PRIMARY KEY)
Table created.
pg. 14
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
1 row created.
SQL> /
Enter value for rollno: 502
Enter value for name: ABI
Enter value for branch: CSE
old 1: INSERT INTO STUD
VALUES(&ROLLNO,'&NAME','&BRANCH')
new 1: INSERT INTO STUD VALUES(502,'ABI','CSE')
1 row created.
SQL> /
Enter value for rollno: 502
Enter value for name: BHAVYA
Enter value for branch: CSE
old 1: INSERT INTO STUD
VALUES(&ROLLNO,'&NAME','&BRANCH')
new 1: INSERT INTO STUD VALUES(502,'BHAVYA','CSE')
INSERT INTO STUD VALUES(502,'BHAVYA','CSE')
*
ERROR at line 1:
ORA-00001: unique constraint (SCOTT.SYS_C001290) violated
pg. 15
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
(CHECK)
Table created.
1 row created.
SQL> /
Enter value for rno: 565
Enter value for name: rohit
Enter value for sal: 35000
old 1: insert into stud values(&rno,'&name',&sal)
new 1: insert into stud values(565,'rohit',35000)
insert into stud values(565,'rohit',35000)
*
ERROR at line 1:
ORA-02290: check constraint (SCOTT.NO_CK) violated
( FOREIGN KEY )
SOL>create table adm(stuid number(6) constraint stuid_pk primary
key,sname varchar2(15),per number(5));
Table created.
1 row created.
pg. 17
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
SQL> /
Enter value for stuid: 2
Enter value for sname: rohit
Enter value for per: 89
old 1: insert into adm values(&stuid,'&sname',&per)
new 1: insert into adm values(2,'rohit',89)
1 row created.
SQL> /
Enter value for stuid: 3
Enter value for sname: sachin
Enter value for per: 99
old 1: insert into adm values(&stuid,'&sname',&per)
new 1: insert into adm values(3,'sachin',99)
1 row created.
SQL> /
Enter value for stuid: 4
Enter value for sname: naveen
Enter value for per: 70
old 1: insert into adm values(&stuid,'&sname',&per)
new 1: insert into adm values(4,'naveen',70)
1 row created.
3 sachin 99
4 naveen 70
Table created.
1 row created.
SQL> /
Enter value for stuid: 5
Enter value for branch: cse
Enter value for sec: b
old 1: insert into course values(&stuid,'&branch','&sec')
new 1: insert into course values(5,'cse','b')
insert into course values(5,'cse','b')
*
ERROR at line 1:
ORA-02291: integrity constraint (SCOTT.SID_FK) violated - parent
key not found
pg. 19
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
1 row deleted.
1 row deleted.
OUTPUT:-
OUTPUT:-
View created.
OUTPUT:-
OUTPUT:-
1 row updated.
OUTPUT:-
OUTPUT:-
OUTPUT:-
Table dropped.
OUTPUT:-
CREATING A USER
SQL>CONNECT SYSTEM/MANAGER;
pg. 22
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
SQL>CONNECT "USERNAME"/"PASSWORD";
EXAMPLE
CREATING A USER
SQL>CONNECT SYSTEM/MANAGER;
SQL>CONNECT CSE2/CSECSE;
OUTPUT:-
pg. 23
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
8 rows selected.
OUTPUT:-
Savepoint created.
OUTPUT:-
1 row updated.
OUTPUT:-
Savepoint created.
OUTPUT:-
1 row deleted.
OUTPUT:-
Savepoint created.
OUTPUT:-
1 row created.
pg. 24
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
OUTPUT:-
8 rows selected.
OUTPUT:-
Rollback complete.
OUTPUT:-
EID ENAME ESAL EBRANCH
---------- ---------- ---------- ----------------
1 scotty 6500 a
3 david 7000 c
4 max 8000 b
5 mark 7000 a
6 jeff 12000 a
7 matt 10000 b
8 steve 7000 c
pg. 25
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
OUTPUT:-
Rollback complete.
OUTPUT:-
EID ENAME ESAL EBRANCH
---------- ---------- ---------- -----------
1 scotty 6500 a
2 wayne 10000 b
3 david 7000 c
4 max 8000 b
5 mark 7000 a
6 jeff 12000 a
7 matt 10000 b
8 steve 7000 c
OUTPUT:-
Rollback complete.
OUTPUT:-
pg. 26
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
OUTPUT:-
Savepoint created.
OUTPUT:-
1 row deleted.
OUTPUT:-
EID ENAME ESAL EBRANCH
---------- ---------- ---------- -----------
2 wayne 10000 b
3 david 7000 c
pg. 27
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
4 max 8000 b
5 mark 7000 a
6 jeff 12000 a
7 matt 10000 b
8 steve 7000 c
7 rows selected.
SQL> commit;
OUTPUT:-
Commit complete.
OUTPUT:-
*
ERROR at line 1:
ORA-01086 :savepoint 's4' never established
OUTPUT:-
pg. 30
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
14 rows selected.
pg. 31
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
14 rows selected.
6 rows selected.
8 rows selected.
pg. 33
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
10 rows selected.
10 rows selected.
9 rows selected.
pg. 35
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
14 rows selected.
14 rows selected.
OUTPUT:-
EMPNO ENAME JOB MGR HIREDATE
SAL COMM DEPTNO
---------- ---------- --------- --------- ----------
--------- -------- ----------
7369 SMITH CLERK 7902 17-DEC-80
800 20
pg. 37
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
pg. 38
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
OUTPUT:-
OUTPUT:-
OUTPUT:-
EMPNO ENAME
---------- ----------
7839 KING
OUTPUT:-
EMPNO ENAME
---------- ----------
7698 BLAKE
7788 SCOTT
7902 FORD
7839 KING
OUTPUT:-
OUTPUT:-
7 rows selected.
OUTPUT:-
ENAME JOB SAL
---------- --------- ----------
ALLEN SALESMAN 1600
WARD SALESMAN 1250
JONES MANAGER 2975
MARTIN SALESMAN 1250
BLAKE MANAGER 2850
CLARK MANAGER 2450
SCOTT ANALYST 3000
KING PRESIDENT 5000
TURNER SALESMAN 1500
ADAMS CLERK 1100
pg. 41
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
13 rows selected.
OUTPUT:-
ENAME JOB SAL
---------- --------- ----------
SMITH CLERK 800
WARD SALESMAN 1250
MARTIN SALESMAN 1250
ADAMS CLERK 1100
JAMES CLERK 950
OUTPUT:-
ENAME JOB SAL
---------- --------- ----------
SMITH CLERK 800
JAMES CLERK 950
ADAMS CLERK 1100
MILLER CLERK 1300
pg. 42
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
OUTPUT:-
DEPTNO DNAME
---------- --------------
10 ACCOUNTING
20 RESEARCH
30 SALES
OUTPUT:-
DEPTNO DNAME
---------- --------------
40 OPERATIONS
Table created.
1 row created.
SQL> /
Enter value for sid: 31
Enter value for sname: lubber
Enter value for rating: 8
Enter value for age: 56
old 1: insert into s1 values(&sid,'&sname',&rating,&age)
new 1: insert into s1 values(31,'lubber',8,56)
1 row created.
SQL> /
Enter value for sid: 58
Enter value for sname: rusty
Enter value for rating: 10
Enter value for age: 35
old 1: insert into s1 values(&sid,'&sname',&rating,&age)
new 1: insert into s1 values(58,'rusty',10,35)
1 row created.
SQL> create table s2(sid number(5),sname varchar2(10),rating
number(5),age number(10));
Table created.
1 row created.
SQL> /
Enter value for sid: 31
Enter value for sname: lubber
Enter value for rating: 8
Enter value for age: 55
old 1: insert into s2 values(&sid,'&sname',&rating,&age)
new 1: insert into s2 values(31,'lubber',8,55)
1 row created.
SQL> /
Enter value for sid: 44
Enter value for sname: guppy
Enter value for rating: 5
Enter value for age: 35
old 1: insert into s2 values(&sid,'&sname',&rating,&age)
new 1: insert into s2 values(44,'guppy',5,35)
1 row created.
SQL> /
Enter value for sid: 58
Enter value for sname: rusty
Enter value for rating: 10
Enter value for age: 35
old 1: insert into s2 values(&sid,'&sname',&rating,&age)
new 1: insert into s2 values(58,'rusty',10,35)
1 row created.
SNAME
----------
dustin
guppy
lubber
rusty
yuppy
SNAME
----------
dustin
lubber
rusty
yuppy
lubber
guppy
rusty
7 rows selected.
pg. 46
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
SID
----------
31
58
AGE
----------
45
56
FUNCTIONS:
AGGREGATE FUNCTIONS
output:-
output:-
pg. 47
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
COUNT(*)
----------
4
output:-
SUM(SAL)
----------
14720
output:-
AVG(SAL)
----------
3680
output:-
MAX(SAL)
----------
7000
pg. 48
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
output:-
MIN(SAL)
----------
1000
OUTPUT:-
14 rows selected.
OUTPUT:-
DEPTNO MAX(SAL)
---------- ----------
10 5000
20 3000
30 2850
OUTPUT:-
DEPTNO MIN(SAL)
---------- ----------
10 1300
20 800
30 950
OUTPUT:-
pg. 50
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
DEPTNO MAX(SAL)
---------- ----------
30 2850
OUTPUT:-
DEPTNO MIN(SAL)
---------- ----------
10 1300
OUTPUT:-
DEPTNO COUNT(*)
---------- ----------
10 3
20 5
30 6
3 rows selected.
CONVERSION FUNCTIONS(TO_CHAR)
pg. 51
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
pg. 52
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
STRING FUNCTIONS
OUTPUT:-ORACLECORPORATION
OUTPUT:-*********ORACLE
OUTPUT:-ORACLE*********
OUTPUT:-MITHSS
OUTPUT:-SSMITH
OUTPUT:-dbms
OUTPUT:-DBMS
OUTPUT:-Oracle Corporation
OUTPUT:-8
OUTPUT:-CDEF
OUTPUT:-14
DATE FUNCTIONS
OUTPUT:-29-DEC-08
OUTPUT:-05-JAN-09
OUTPUT:-28-FEB-09
OUTPUT:-31-DEC-08
pg. 54
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
SQL>SELECT MONTHS_BETWEEN(SYSDATE,HIREDATE)FROM
EMP;
OUTPUT:-
OUTPUT:-10-JAN-07
OUTPUT:-10-JAN-07
OUTPUT:-28-DEC-08
OUTPUT:-01-DEC-08
SQL>SELECT TRUNC(SYSDATE,'YEAR')FROM DUAL;
OUTPUT:-01-JAN-08
OUTPUT:-28-DEC-08
pg. 55
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
OUTPUT:-01-JAN-09
OUTPUT:-01-JAN-09
NUMBER FUNCTIONS
OUTPUT:-
ROUND(12.36) ROUND(14.63)
------------ ------------
12 15
OUTPUT:-
FLOOR(12.87) FLOOR(11.23)
------------ ------------
12 11
OUTPUT:-
pg. 56
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
CEIL(16.23) CEIL(12.78)
----------- -----------
17 13
OUTPUT:-
TRUNC(56.63)
------------
56
OUTPUT:-
MOD(11,4)
----------
3
OUTPUT:-
POWER(2,3)
----------
8
OUTPUT:-
0 1 -1
OUTPUT:-
ABS(12) ABS(-89)
---------- ----------
12 89
OUTPUT:-
SQRT(25)
--------
5
INTRODUCTION TO PL/SQL
pg. 58
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
SERVER
CLIENT
PL/SQL BLOCK
DECLARE
--Declarations of memory variables,constants,cursors etc.,in
PL/SQL
BEGIN
--SQL executable statements
--PL/SQL executable statements
EXCEPTION
pg. 59
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
/*SQL or PL/SQL code to handle errors that may arise during the
execution of the code block between BEGIN and EXCEPTION
section
END;
1. BRANCHING
2. SELECTION
3. LOOPING
BRANCHING STATEMENTS
1.Simple IF
2.ELSIF
3.ELSE IF
SIMPLE IF
IF condition THEN
statement1;
statement2;
END IF;
IF-THEN-ELSE STATEMENT
IF condition THEN
pg. 60
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
statement1;
ELSE
statement2;
END IF;
ELSIF STATEMENTS
IF condition1 THEN
statement1;
ELSIF condition2 THEN
statement2;
ELSIF condition3 THEN
statement3;
ELSE
statementn;
END IF;
NESTED IF
IF condition THEN
statement1;
ELSE
IF condition THEN
statement2;
ELSE
statement3;
END IF;
END IF;
ELSE
statement3;
pg. 61
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
END IF;
SELECTION IN PL/SQL
SIMPLE CASE
CASE SELECTOR
WHEN Expr1 THEN statement1;
WHEN Expr2 THEN statement2;
:
:
:
ELSE
statementn;
END CASE;
SEARCHED CASE
CASE
WHEN searchcondition1 THEN statement1;
WHEN searchcondition2 THEN statement2;
:
:
:
ELSE
pg. 62
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
statementn;
END CASE;
ITERATIONS IN PL/SQL
SIMPLE LOOP
LOOP
statement1;
EXIT [ WHEN Condition];
END LOOP;
WHILE LOOP
FOR LOOP
declare
a number(10);
b number(10);
begin
a:=&a;
b:=&b;
dbms_output.put_line('THE PREV VALUES OF A AND B WERE');
dbms_output.put_line(a);
dbms_output.put_line(b);
a:=a+b;
b:=a-b;
a:=a-b;
dbms_output.put_line('THE VALUES OF A AND B ARE');
dbms_output.put_line(a);
dbms_output.put_line(b);
end;
OUTPUT:
SQL> @ SWAPPING.SQL
17 /
Enter value for a: 5
old 5: a:=&a;
new 5: a:=5;
Enter value for b: 3
old 6: b:=&b;
new 6: b:=3;
THE PREV VALUES OF A AND B WERE
pg. 64
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
5
3
THE VALUES OF A AND B ARE
3
5
declare
a number(10);
b number(10);
c number(10);
begin
dbms_output.put_line('THE PREV VALUES OF A AND B WERE');
dbms_output.put_line(a);
dbms_output.put_line(b);
a:=&a;
b:=&b;
c:=a;
a:=b;
b:=c;
dbms_output.put_line('THE VALUES OF A AND B ARE');
dbms_output.put_line(a);
dbms_output.put_line(b);
end;
pg. 65
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
OUTPUT:
SQL> @ SWAPPING2.SQL
19 /
Enter value for a: 5
old 6: a:=&a;
new 6: a:=5;
Enter value for b: 3
old 7: b:=&b;
new 7: b:=3;
THE PREV VALUES OF A AND B WERE
5
3
THE VALUES OF A AND B ARE
3
5
declare
a number;
b number;
begin
a:=&a;
b:=&b;
pg. 66
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
if a=b then
dbms_output.put_line('BOTH ARE EQUAL');
elsif a>b then
dbms_output.put_line('A IS GREATER');
else
dbms_output.put_line('B IS GREATER');
end if;
end;
OUTPUT:
SQL> @ GREATESTOF2.sql
13 /
Enter value for a: 5
old 5: a:=&a;
new 5: a:=5;
Enter value for b: 2
old 6: b:=&b;
new 6: b:=2;
A IS GREATER
pg. 67
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
declare
a number;
b number;
c number;
begin
a:=&a;
b:=&b;
c:=&c;
if a=b and b=c and c=a then
dbms_output.put_line('ALL ARE EQUAL');
elsif a>b and a>c then
dbms_output.put_line('A IS GREATER');
elsif b>c then
dbms_output.put_line('B IS GREATER');
else
dbms_output.put_line('C IS GREATER');
end if;
end;
OUTPUT:
SQL> @ GREATESTOF3.sql
17 /
Enter value for a: 8
old 6: a:=&a;
new 6: a:=8;
Enter value for b: 9
old 7: b:=&b;
new 7: b:=9;
pg. 68
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
declare
java number(10);
dbms number(10);
co number(10);
se number(10);
es number(10);
ppl number(10);
total number(10);
avgs number(10);
per number(10);
begin
dbms_output.put_line('ENTER THE MARKS');
java:=&java;
dbms:=&dbms;
co:=&co;
se:=&se;
es:=&es;
pg. 69
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
ppl:=&ppl;
total:=(java+dbms+co+se+es+ppl);
per:=(total/600)*100;
if java<40 or dbms<40 or co<40 or se<40 or es<40 or ppl<40 then
dbms_output.put_line('FAIL');
if per>75 then
dbms_output.put_line('GRADE A');
elsif per>65 and per<75 then
dbms_output.put_line('GRADE B');
elsif per>55 and per<65 then
dbms_output.put_line('GRADE C');
else
dbms_output.put_line('INVALID INPUT');
end if;
dbms_output.put_line('PERCENTAGE IS '||per);
dbms_output.put_line('TOTAL IS '||total);
end;
OUTPUT:
SQL> @ GRADE.sql
31 /
Enter value for java: 80
old 12: java:=&java;
new 12: java:=80;
Enter value for dbms: 70
old 13: dbms:=&dbms;
new 13: dbms:=70;
Enter value for co: 89
old 14: co:=&co;
new 14: co:=89;
Enter value for se: 72
old 15: se:=&se;
pg. 70
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
pg. 71
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
declare
a number;
t number;
arm number;
d number;
begin
a:=&a;
t:=a;
arm:=0;
while t>0
loop
d:=mod(t,10);
arm:=arm+power(d,3);
t:=trunc(t/10);
end loop;
if arm=a then
dbms_output.put_line('given no is an armstrong no'|| a);
else
dbms_output.put_line('given no is not an armstrong no');
end if;
end;
OUTPUT:
SQL> @ ARMSTRONGNUM.sql
Enter value for a: 407
old 7: a:=&a;
new 7: a:=407;
given no is an armstrong no407
pg. 72
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
SQL> /
Enter value for a: 406
old 7: a:=&a;
new 7: a:=406;
given no is not an armstrong no
declare
a number;
d number:=0;
sum1 number:=0;
begin
a:=&a;
while a>0
loop
d:=mod(a,10);
sum1:=sum1+d;
a:=trunc(a/10);
end loop;
dbms_output.put_line('sum is'|| sum1);
end;
OUTPUT:
SQL> @ SUMOFDIGITS.sql
16 /
pg. 73
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
declare
a number;
rev number;
d number;
pg. 74
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
begin
a:=&a;
rev:=0;
while a>0
loop
d:=mod(a,10);
rev:=(rev*10)+d;
a:=trunc(a/10);
end loop;
dbms_output.put_line('no is'|| rev);
end;
OUTPUT:
SQL> @ REVERSE2.sql
16 /
Enter value for a: 536
old 6: a:=&a;
new 6: a:=536;
no is635
pg. 75
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
declare
gn varchar2(5):=4567;
sl number(2);
rv varchar2(5);
begin
sl:=length(gn);
for i in reverse 1..sl
loop
rv:=rv||substr(gn,i,1);
end loop;
dbms_output.put_line('given no r is'||gn);
dbms_output.put_line('given no in reverse order is'||rv);
end;
OUTPUT:
SQL> @ REVERSE.sql
14 /
given no r is4567
given no in reverse order is7654
pg. 76
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
declare
a number;
c number:=0;
i number;
begin
a:=&a;
for i in 1..a
loop
if mod(a,i)=0 then
c:=c+1;
end if;
end loop;
if c=2 then
dbms_output.put_line(a ||'is a prime number');
else
dbms_output.put_line(a ||'is not a prime number');
end if;
end;
pg. 77
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
OUTPUT:
SQL> @ PRIME.SQL
19 /
Enter value for a: 11
old 6: a:=&a;
new 6: a:=11;
11is a prime number
declare
n number;
f number:=1;
begin
n:=&n;
for i in 1..n
loop
pg. 78
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
f:=f*i;
end loop;
dbms_output.put_line('the factorial is'|| f);
end;
OUTPUT:
SQL> @ FACTORIAL.sql
12 /
Enter value for n: 5
old 5: n:=&n;
new 5: n:=5;
the factorial is120
pg. 79
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
declare
a number;
b number;
c number;
n number;
i number;
begin
n:=&n;
a:=0;
b:=1;
dbms_output.put_line(a);
dbms_output.put_line(b);
for i in 1..n-2
loop
c:=a+b;
dbms_output.put_line(c);
a:=b;
b:=c;
end loop;
end;
OUTPUT:
SQL> @ FIBONACCI.sql
21 /
Enter value for n: 5
old 8: n:=&n;
new 8: n:=5;
pg. 80
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
0
1
1
2
3
TABLE NAME:AREAS
RADIUS AREA
Table created.
--PROGRAM
declare
pg. 81
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
pi constant number(4,2):=3.14;
radius number(5):=3;
area number(6,2);
begin
while radius<7
loop
area:=pi*power(radius,2);
insert into areas values(radius,area);
radius:=radius+1;
end loop;
end;
OUTPUT:
SQL> @ AREAOFCIRCLE.SQL
13 /
PL/SQL procedure successfully completed.
SQL> SELECT * FROM AREAS;
RADIUS AREA
---------- ----------
3 28.26
4 50.24
5 78.5
6 113.04
pg. 82
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
--PROGRAM
declare
mano number(5);
mcb number(6,2);
minibal constant number(7,2):=1000.00;
fine number(6,2):=100.00;
begin
mano:=&mano;
select cur_bal into mcb from acct where acctno=mano;
if mcb<minibal then
update acct set cur_bal=cur_bal-fine where acctno=mano;
end if;
end;
OUTPUT:
SQL> @ BANKACC.sql
13 /
Enter value for mano: 855
old 7: mano:=&mano;
new 7: mano:=855;
pg. 83
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
pg. 84
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
CUBE
output:-
SQL> @cub
/
Function created.
CUBE(6)
------
216
pg. 85
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
FACTORIAL
create or replace function fact(n number)return number
as
fac number:=1;
begin
for i in 1..n
loop
fac:=fac*i;
end loop;
return fac;
end;
pg. 86
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
output:-
SQL> @func.sql;
12 /
Function created.
FACT(5)
----------
120
IN- PROCEDURE
pg. 87
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
OUTPUT:-
SQL> select * from dept;
SQL> @pro1
/
Procedure created.
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
50 MARKETING HYDERABAD
OUT-PROCEDURE
OUTPUT:
SQL> @proc2
/
Procedure created.
SQL> declare
2 x varchar2(20);
3 y varchar2(30);
4 ch number;
5 begin
6 ch:=&ch;
7 outpro(ch,x,y);
pg. 89
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
BEFORE TRIGGER
create or replace trigger tday before insert or delete or update on
emp
declare
we varchar2(10);
begin
we:=to_char(sysdate,'dy');
if we='sat' or we='sun' then
raise_application_error(-20015,'its a weekend');
end if;
pg. 90
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
end;
output:-
SQL> @trig1
/
Trigger created.
ERROR at line 1:
ORA-20015: its a weekend
ORA-06512: at "SCOTT.TDAY", line 6
ORA-04088: error during execution of trigger 'SCOTT.TDAY'
pg. 91
Dept of Computer Science & Engineering
HYDERABAD INSTITUTE OF TECHNOLOGY AND MANAGEMENT
AFTER TRIGGER
output:-
SQL> @trig2;
10 /
Trigger created.
*
ERROR at line 1:
ORA-20010: not working hours
ORA-06512: at "SCOTT.TTIME", line 6
ORA-04088: error during execution of trigger 'SCOTT.TTIME'
pg. 92
Dept of Computer Science & Engineering