Вы находитесь на странице: 1из 27

1.

TABLE CREATION AND SIMPLE QUERIES


CREATE TABLE:

SQL> create table marklist(regno number(3),name char(20),tam number(3),eng


number(3),mat number(3),sci number(3),soc number(3));

Table created.

DISPLAY THE STRUCTURE OF THE TABLE:

SQL> desc marklist;

Name Null? Type


-------------------------- -------- ----------------------------
REGNO NUMBER(3)
NAME CHAR(20)
TAM NUMBER(3)
ENG NUMBER(3)
MAT NUMBER(3)
SCI NUMBER(3)
SOC NUMBER(3)

INSERTION:

SQL> insert into marklist values(111,'aaa',90,89,89,98,78);

1 row created.

SQL> insert into marklist values(222,'bbb',80,79,89,96,98);

1 row created.

SQL> insert into marklist values(333,'ccc',90,99,99,76,98);

1 row created.

TABLE VIEW :

SQL> select*from marklist;

REGNO NAME TAM ENG MAT SCI SOC


------------ ------------------ ----------- ---------- ---------- ---------- ---------

111 aaa 90 89 89 98 78
222 bbb 80 79 89 96 98
333 ccc 90 99 99 76 98
ALTER TABLE:

SQL> alter table marklist add(tot number(3),avg number(3));

Table altered.

UPDATE TABLE:

SQL> update marklist set tot=tam+eng+mat+sci+soc;

3 rows updated.

SQL> update marklist set avg=tot/5;

3 rows updated.

SELECTION:

SQL> select*from marklist;

REGNO NAME TAM ENG MAT SCI SOC TOT AVG


------------ --------------- ------------ ---------- ---------- --------- -------- ------- ----------
111 aaa 90 89 89 98 78 444 89
222 bbb 80 79 89 96 98 442 88
333 ccc 90 99 99 76 98 462 92

DELETION:

SQL> delete from marklist where name='ccc';

1 row deleted.

SELECTION:

SQL> select*from marklist;

REGNO NAME TAM ENG MAT SCI SOC TOT AVG


------------ --------------- ------------ ---------- ---------- --------- -------- ------- ----------
111 aaa 90 89 89 98 78 444 89
222 bbb 80 79 89 96 98 442 88

SAVE:

SQL> commit;

Commit complete.
2. QUERIES USING AGGREGATE FUNCTION AND SET
OPERATIONS
CREATE TABLE:

SQL> create table emp(id number(3),empname varchar(10),dept varchar(10),salary


number(5));

Table created.

DISPLAY THE STRUCTURE OF THE TABLE:

SQL> desc emp;

Name Null? Type


-------------------------- -------- ----------------------------
ID NUMBER(3)
EMPNAME VARCHAR(10)
DEPT VARCHAR(10)
SALARY NUMBER(5)

INSERTION:

SQL> insert into emp values(111,'aaa','hr',50000);

1 row created.

SQL> insert into emp values(222,'bbb','sales',60000);

1 row created.

AGGREGATE FUNCTIONS

COUNT:

SQL> select count(*) from emp;

COUNT(*)
---------------
2

SQL> select count(*) from emp where dept='hr';

COUNT(*)
---------------
1
SQL> select count(distinct id) from emp;

COUNT(DISTINCTID)
-------------------------------
2

MINIMUM:

SQL> select min(salary)from emp;

MIN(SALARY)
---------------------
50000

SQL> select* from emp where salary=(select min(salary)from emp);

ID EMPNAME DEPT SALARY


-------- ---------------- ------------- ------------------
111 aaa hr 50000

MAXIMUM:

SQL> select max(salary)from emp;

MAX(SALARY)
-----------------------
60000

SQL> select* from emp where salary=(select max(salary)from emp);

ID EMPNAME DEPT SALARY


-------- ---------------- ------------- ------------------
222 bbb sales 60000

SUM:

SQL> select sum(salary)from emp;

SUM(SALARY)
----------------------
110000

AVERAGE:

SQL> select avg(salary)from emp;

AVG(SALARY)
-----------------------
55000
SET OPERATION

CREATE TABLE:

SQL> create table first(id number(3),name char(3));

Table created.

SQL> create table second(id number(3),name char(3));

Table created.

INSERTION:

SQL> insert into first values(1,'aaa');

1 row created.

SQL> insert into first values(2,'bbb');

1 row created.

SQL> insert into second values(2,'bbb');

1 row created.

SQL> insert into second values(3,'ccc');

1 row created.

UNION:

SQL> select*from first union select* from second;

ID NAME
------- ------------
1 aaa
2 bbb
3 ccc

UNIONALL:

SQL> select*from first union all select* from second;

ID NAME
------- ------------
1 aaa
2 bbb
2 bbb
3 ccc
INTERSECT:

SQL> select*from first intersect select* from second;

ID NAME
------- ------------
2 bbb

MINUS:

SQL> select*from first minus select* from second;

ID NAME
------- ------------
1 aaa

SAVE:

SQL> commit;

Commit complete.
3. TABLE CREATION WITH VARIOUS JOINS
FIRST TABLE CREATION:

SQL> create table employee(empno number(3),ename varchar(15),job varchar(20),deptno


number(10));

Table created.

DISPLAY THE STRUCTURE OF THE TABLE:

SQL> desc employee;

Name Null? Type


-------------------------- -------- ----------------------------
EMPNO NUMBER(3)
ENAME VARCHAR2(15)
JOB VARCHAR2(20)
DEPTNO NUMBER(10)

INSERTION:

SQL> insert into employee values(101,'xavier','manager',10);

1 row created.

SQL> insert into employee values(102,'abi','asst.manager',20);

1 row created.

SQL> insert into employee values(103,'susi','h.o.d',30);

1 row created.

SQL> insert into employee values(104,'babu','lawyer',40);

1 row created.

SELECTION:

SQL> select*from employee;

EMPNO ENAME JOB DEPTNO


------------ ------------- -------------- -----------------
101 xavier manager 10
102 abi asst.manager 20
103 susi h.o.d 30
104 babu lawyer 40
SECOND TABLE CREATION:

SQL> create table department(deptno number(3),deptname varchar(15),location varchar(15));

Table created.

DISPLAY THE STRUCTURE OF THE TABLE:

SQL> desc department;

Name Null? Type


----------------------------------------- -------- ----------------------------
DEPTNO NUMBER(3)
DEPTNAME VARCHAR2(15)
LOCATION VARCHAR2(15)

INSERTION:

SQL> insert into department values(10,'mba','chennai');

1 row created.

SQL> insert into department values(20,'mca','mumbai');

1 row created.

SQL> insert into department values(30,'msc','madurai');

1 row created.

SQL> insert into department values(50,'be','kolkatta');

1 row created.

SELECTION:

SQL> select*from department;

DEPTNO DEPTNAME LOCATION


-------------- ---------------------- --------------------
10 mba chennai
20 mca mumbai
30 msc madurai
50 BE kolkatta
EQUI-JOIN:

SQL> select empno,ename,job,deptname,location from employee a,department b where


a.deptno=b.deptno;

EMPNO ENAME JOB DEPTNAME LOCATION


------------- ------------------ ----------------- ------------------- ----------------------
101 xavier manager mba chennai
102 abi asst.manager mca mumbai
103 susi h.o.d msc madurai

LEFT OUTER JOIN:

SQL> select empno,ename,job,deptname,location from employee a,department b where


a.deptno=b.deptno(+);

EMPNO ENAME JOB DEPTNAME LOCATION


------------ -------------- --------------- -------------------- -------------------
101 xavier manager mba chennai
102 abi asst.manager mca mumbai
103 susi h.o.d msc madurai
104 babu lawyer

RIGHT OUTER JOIN:

SQL> select empno,ename,job,deptname,location from employee a,department b where


a.deptno(+)=b.deptno;

EMPNO ENAME JOB DEPTNAME LOCATION


------------ -------------- --------------- -------------------- -------------------
101 xavier manager mba chennai
102 abi asst.manager mca mumbai
103 susi h.o.d msc madurai
BE kolkatta

SAVE:

SQL> commit;

Commit complete.
4. NESTED SUB QUERIES AND CORRELATED SUB
QUERIES
FIRST TABLE CREATION:

SQL> create table agent(agent_code number(3),agent_name varchar(20),working_area


varchar(20),address varchar(20),phnum number(10));

Table created.

DISPLAY THE STRUCTURE OF THE TABLE:

SQL> desc agent;

Name Null? Type


---------------------- ---------------------- ---------------------------
AGENT_CODE NUMBER(3)
AGENT_NAME VARCHAR2(20)
WORKING_AREA VARCHAR2(20)
ADDRESS VARCHAR2(20)
PHNUM NUMBER(10)
INSERTION:

SQL> insert into agent values(101,'arifa','mumbai','srj street',9877654322);

1 row created.

SQL> insert into agent values(102,'archana','chennai','mgp street',9643765422);

1 row created.

SQL> insert into agent values(103,'aarthi','kolkatta','qwe street',8764332452);

1 row created.

SELECTION:

SQL> select*from agent;

AGENT_CODE AGENT_NAME WORKING_AREA ADDRESS PHNUM


--------------------- ---------------------- -------------------------- ---------------- ------------------
101 arifa mumbai srj street 9877654322
102 archana chennai mgp street 9643765422
103 aarthi kolkatta qwe street 8764332452
SINGLE ROW SUB QUERY USING WHERE CLAUSE:

SQL> select * from agent where agent_code=(select agent_code from agent where
agent_name='arifa');

AGENT_CODE AGENT_NAME WORKING_AREA ADDRESS PHNUM


--------------------- ---------------------- -------------------------- ---------------- ------------------
101 arifa mumbai srj street 9877654322

SINGLE ROW SUBQUERY USING FROM CLAUSE:

SQL> select agent_code,agent_name from (select agent_code,agent_name from agent where


agent_code>101);

AGENT_CODE AGENT_NAME
--------------------- ----------------------
102 archana

103 aarthi

SECOND TABLE CREATION:

SQL> create table order1(order_no number(3),order_amt number(20),order_date


number(10),agent_code number(3),cust_code number(3),order_desc varchar(15));

Table created.

DISPLAY THE STRUCTURE OF TABLE:

SQL> desc order1;

Name Null? Type


--------------------------- ----------------- ----------------------------
ORDER_NO NUMBER(3)
ORDER_AMT NUMBER(20)
ORDER_DATE NUMBER(10)
AGENT_CODE NUMBER(3)
CUST_CODE NUMBER(3)
ORDER_DESC VARCHAR2(15)

INSERTION:

SQL> insert into order1 values(1,10000,10/10/12,101,915,'delivered');

1 row created.

SQL> insert into order1 values(2,20000,12/06/13,102,902,'pending');

1 row created.
SQL> insert into order1 values(3,30000,15/01/14,103,803,'pending');

1 row created.

SELECTION:

SQL> select*from order1;

ORDER_NO ORDER_AMT ORDER_DATE AGENT_CODE CUST_CODE ORDER_DESC


---------------- ------------------- ------------------- -------------------- ----------------- --------------------
1 10000 10/10/12 101 915 delivered
2 20000 12/06/13 102 902 pending
3 30000 15/01/14 103 803 pending

MULTIPLE ROW SUBQUERY USING IN CLAUSE:

SQL> select*from order1 where agent_code IN(select agent_code from agent where
working_area='kolkatta');

ORDER_NO ORDER_AMT ORDER_DATE AGENT_CODE CUST_CODE ORDER_DESC


---------------- ------------------- ------------------- -------------------- ----------------- --------------------
3 30000 15/01/14 103 803 pending

MULTIPLE ROW SUBQUERY USING NOTIN CLAUSE:

SQL> select*from order1 where agent_code NOT IN(select agent_code from agent where
working_area='kolkatta');

ORDER_NO ORDER_AMT ORDER_DATE AGENT_CODE CUST_CODE ORDER_DESC


---------------- ------------------- ------------------- -------------------- ----------------- --------------------
1 10000 10/10/12 101 915 delivered
2 20000 12/06/13 102 902 pending

CORRELATED SUBQUERY:

SQL> select a.order_no,a.order_amt,a.cust_code,a.agent_code from order1 a where


a.agent_code=(select b.agent_code from agent b where b.agent_name='archana');

ORDER_NO ORDER_AMT CUST_CODE AGENT_CODE


----------------- ---------------------- ----------------------- -------------------------
2 20000 902 102

SAVE:

SQL> commit;

Commit complete.
5. VIEW CREATION AND MANIPULATION
CREATE TABLE:

SQL> create table student(enroll number(5),name char(15));

Table created.

DISPLAY THE STRUCTURE OF TABLE:

SQL> desc student;

Name Null? Type


--------------------------- ----------------- ----------------------------
ENROLL NUMBER(5)
NAME CHAR(15)

INSERTION:

SQL> insert into student values(111,'aaa');

1 row created.

SQL> insert into student values(222,'bbb');

1 row created.

CREATE VIEW :

SQL> create view stu as select enroll,name from student;

View created.

SELECTION:

SQL> select*from stu;

ENROLL NAME
------------- -------------
111 aaa
222 bbb

UPDATION:

SQL> update stu set name='xyz' where enroll=111;

1 row updated.
SELECTION:

SQL> select*from stu;

ENROLL NAME
------------- -------------
111 xyz
222 bbb

DROP VIEW TABLE:

SQL> drop view stu;

View dropped.

SAVE:

SQL> commit;

Commit complete.
6. PL/SQL PROGRAM FOR CURSOR
CREATE TABLE:

SQL> create table employer(eno number(10),ename varchar(20),bp number(10),hra


number(10),da number(10),np number(10));

Table created.

DESCRIBE THE TABLE:

SQL> desc employer;

Name Null? Type


----------------- ----------------- ------------------------
ENO NUMBER(10)
ENAME VARCHAR2(20)
BP NUMBER(10)
HRA NUMBER(10)
DA NUMBER(10)
NP NUMBER(10)

PROGRAM :

SQL> set serveroutput on;


SQL> declare
2 eno number(10);
3 ename varchar(20);
4 bp number(10);
5 hra number(10);
6 da number(10);
7 np number(10);
8 cursor c is select*from employer;
9 begin
10 eno:=&eno;
11 ename:='&ename';
12 bp:=&bp;
13 hra:=&hra;
14 da:=&da;
15 np:=&np;
16 np:=bp+hra+da;
17 insert into employer values(eno,ename,bp,hra,da,np);
18 for x in c
19 loop
20 if x.bp>=5000 then
21 update employer set np=bp+hra+da where eno=x.eno;
22 update employer set np=bp+da where eno=x.eno;
23 end if;
24 end loop;
25 end;
26 /

OUTPUT:

Enter value for eno: 101


old 10: eno:=&eno;
new 10: eno:=101;
Enter value for ename: priya
old 11: ename:='&ename';
new 11: ename:='priya';
Enter value for bp: 1000
old 12: bp:=&bp;
new 12: bp:=1000;
Enter value for hra: 200
old 13: hra:=&hra;
new 13: hra:=200;
Enter value for da: 300
old 14: da:=&da;
new 14: da:=300;
Enter value for np: 400
old 15: np:=&np;
new 15: np:=400;

PL/SQL procedure successfully completed.

SELECTION:

SQL> select*from employer;

ENO ENAME BP HRA DA NP


-------- ---------------- -------- ------------ ---------- ---------
101 priya 1000 200 300 1500
OUTPUT2:

SQL>/
Enter value for eno: 103
old 10: eno:=&eno;
new 10: eno:=103;
Enter value for ename: keerthana
old 11: ename:='&ename';
new 11: ename:='keerthana';
Enter value for bp: 6000
old 12: bp:=&bp;
new 12: bp:=6000;
Enter value for hra: 200
old 13: hra:=&hra;
new 13: hra:=200;
Enter value for da: 100
old 14: da:=&da;
new 14: da:=100;
Enter value for np: 200
old 15: np:=&np;
new 15: np:=200;

PL/SQL procedure successfully completed.

SELECTION:

SQL> select*from employer;

ENO ENAME BP HRA DA NP


-------- ---------------- -------- ------------ ---------- ---------
101 priya 1000 200 300 1500

103 keerthana 6000 200 100 6100

SAVE:

SQL> commit;

Commit complete.
7. PL/SQL PROGRAM FOR PACKAGES
CREATE TABLE:

SQL> create table customers(id number(5),name char(15),age number(2),address


varchar(15),salary number(5));

Table created.

DESCRIBE THE TABLE:

SQL> desc customers;

Name Null? Type


---------------- ------------------- -------------------------
ID NUMBER(5)
NAME CHAR(15)
AGE NUMBER(2)
ADDRESS VARCHAR2(15)
SALARY NUMBER(5)

INSERTION:

SQL> insert into customers values(1,'anu',32,'delhi',14000);

1 row created.

SQL> insert into customers values(2,'banu',22,'goa',15000);

1 row created.

SQL> insert into customers values(3,'chithra',42,'mumbai',45000);

1 row created.

SQL> insert into customers values(4,'deepa',33,'chennai',35000);

1 row created.

SQL> insert into customers values(5,'ishu',46,'vpm',23000);

1 row created.
SELECTION:

SQL> select*from customers;

ID NAME AGE ADDRESS SALARY


--------- --------------- ------------ ------------------ ---------------
1 anu 32 delhi 14000
2 banu 22 goa 15000
3 chithra 42 mumbai 45000
4 deepa 33 chennai 35000
5 ishu 46 vpm 23000

PROGRAM:

SQL> create or replace PACKAGE c_package as


2 procedure addcustomer(c_id customers.id%type,c_name customers.name%type,c_age
customers.age%type,c_addr customers.address%type,c_sal customers.salary%type);
3 procedure delcustomer(c_id customers.id%type);
4 procedure listcustomer;
5 end c_package;
6 /

Package created.

SQL> create or replace package body c_package AS


2 procedure addcustomer(c_id customers.id%type,c_name customers.name%type,c_age
customers.age%type,c_addr customers.address%type,c_sal customers.salary%type) IS
3 BEGIN
4 insert into customers(id,name,age,address,salary)
5 values(c_id,c_name,c_age,c_addr,c_sal);
6 end addcustomer;
7 procedure delcustomer(c_id customers.id%type) IS
8 BEGIN
9 delete from customers
10 where id=c_id;
11 end delcustomer;
12 procedure listcustomer IS
13 cursor c_customers is
14 select name from customers;
15 TYPE c_list is TABLE OF customers.name%type;
16 name_list c_list:=c_list();
17 counter integer:=0;
18 BEGIN
19 for n IN c_customers LOOP
20 counter:=counter+1;
21 name_list.extend;
22 name_list(counter):=n.name;
23 dbms_output.put_line('customer(' ||counter||')'||name_list(counter));
24 end loop;
25 end listcustomer;
26 end c_package;
27 /
Package body created.

SQL> DECLARE
2 code customers.id%type:=8;
3 begin
4 c_package.addcustomer(6,'ram',34,'chennai',34000);
5 c_package.addcustomer(7,'subham',44,'cochin',32000);
6 c_package.listcustomer;
7 c_package.delcustomer(code);
8 c_package.listcustomer;
9 end;
10 /

PL/SQL procedure successfully completed.

SELECTION:

SQL> select*from customers;


SQL> select*from customers;

ID NAME AGE ADDRESS SALARY


--------- --------------- ------------ ------------------ ---------------
1 anu 32 delhi 14000
2 banu 22 goa 15000
3 chithra 42 mumbai 45000
4 deepa 33 chennai 35000
5 ishu 46 vpm 23000
6 ram 34 chennai 34000
7 subham 44 cochin 32000

7 rows selected.

SAVE:

SQL> commit;

Commit complete.
8. PL/SQL PROGRAM FOR TRIGGERS AND ITS TYPE
CREATE TABLE:

SQL> create table account(ac_no number(10),name varchar(20),salary number(10));

Table created.

DESCRIBE THE TABLE:

SQL> desc account;

Name Null? Type


----------------- ------------------ ------------------------
AC_NO NUMBER(10)
NAME VARCHAR2(20)
SALARY NUMBER(10)

SELECTION:

SQL> select*from account;

AC_NO NAME SALARY


------------ ------------------ -----------------
11 aaa 10000
222 bbb 20000
333 ccc 30000

PROGRAM:

SQL> set serveroutput on;


SQL> create or replace trigger dis_salary_changes
2 before delete or insert or update on account
3 for each row
4 when(NEW.ac_no>0)
5 declare
6 sal_diff number;
7 begin
8 sal_diff:=:NEW.salary-:OLD.salary;
9 dbms_output.put_line('oldsalary:'||:OLD.salary);
10 dbms_output.put_line('newsalary:'||:NEW.salary);
11 dbms_output.put_line('Salary difference:'||sal_diff);
12 end;
13 /

Trigger created.
UPDATION:

SQL> update account set salary=salary+500 where ac_no=111;

oldsalary:10000
newsalary:10500
Salary difference:500
1 row updated.

INSERTION:

SQL> insert into account values(124,'kkk',98000);

oldsalary:
newsalary:98000
Salary difference:
1 row created.

SELECTION:

SQL> select*from account;

AC_NO NAME SALARY


------------ --------------- ----------------
111 aaa 10500
222 bbb 20000
333 ccc 30000
124 kkk 98000

DELETION:

SQL> delete from account where ac_no=333;

1 row deleted.

SELECTION:

SQL> select*from account;

AC_NO NAME SALARY


------------ --------------- ----------------
111 aaa 10500
222 bbb 20000
124 kkk 98000

SAVE:

SQL> commit;

Commit complete.
9A. PROCEDURES
CREATE TABLE:

SQL> create table ac(ac_no number(5),name varchar(10),amount number(5));

Table created.

DESCRIBE THE TABLE:

SQL> desc ac;

Name Null? Type


------------------ -------- ----------------------------
AC_NO NUMBER(5)
NAME VARCHAR2(10)
AMOUNT NUMBER(5)

INSERTION:

SQL> insert into ac values(1,'anu',15000);

1 row created.

SQL> insert into ac values(2,'banu',20000);

1 row created.

SQL> insert into ac values(3,'arun',25000);

1 row created.

PROGRAM:

SQL> set serveroutput on;


SQL> create or replace procedure withdraw(ac_no1 in number,amount1 in number)is
2 begin
3 update ac set amount=amount-amount1 where ac_no=ac_no1;
4 end;
5 /
Procedure created.

SQL> create or replace procedure deposit(ac_no1 in number,amount1 in number)is


2 begin
3 update ac set amount=amount+amount1 where ac_no=ac_no1;
4 end;
5 /
Procedure created.
SQL> declare
2 choice number;
3 ac_no1 number;
4 amount1 number;
5 begin
6 ac_no1:=&ac_no1;
7 amount1:=&amount1;
8 choice:=&choice;
9 if choice=1 then
10 withdraw(ac_no1,amount1);
11 else
12 deposit(ac_no1,amount1);
13 end if;
14 end;
15 /

OUTPUT:

Enter value for ac_no1: 4


old 6: ac_no1:=&ac_no1;
new 6: ac_no1:=4;
Enter value for amount1: 5000
old 7: amount1:=&amount1;
new 7: amount1:=5000;
Enter value for choice: 1
old 8: choice:=&choice;
new 8: choice:=1;

PL/SQL procedure successfully completed.

SQL> /
Enter value for ac_no1: 2
old 6: ac_no1:=&ac_no1;
new 6: ac_no1:=2;
Enter value for amount1: 5000
old 7: amount1:=&amount1;
new 7: amount1:=5000;
Enter value for choice: 2
old 8: choice:=&choice;
new 8: choice:=2;

PL/SQL procedure successfully completed.


SELECTION:

SQL> select*from ac;

AC_NO NAME AMOUNT


------------ ------------- -----------------
1 anu 15000
2 banu 25000
3 arun 25000

SAVE:

SQL> commit;

Commit complete.
9B. FUNCTIONS
CREATE TABLE:

SQL> create table userdetails(ph_num number(10),user_name varchar(20),address


varchar(25));

Table created.

DESCRIBE THE TABLE:

SQL> desc userdetails;

Name Null? Type


-------------------- ---------------- ------------------------------
PH_NUM NUMBER(10)
USER_NAME VARCHAR2(20)
ADDRESS VARCHAR2(25)

INSERTION:

SQL> insert into userdetails values(9876543210,'deepika','tiruvannamalai');

1 row created.

SQL> insert into userdetails values(9875267189,'anusaya','mumbai');

1 row created.

SQL> insert into userdetails values(7287892828,'anu','chennai');

1 row created.

SELECTION:

SQL> select*from userdetails;

PH_NUM USER_NAME ADDRESS


----------------- ----------------------- -----------------------
9876543210 deepika tiruvannamalai
9875267189 anusaya mumbai
7287892828 anu chennai

PROGRAM:

SQL> create or replace function findaddress(phone in number)return varchar as addr


varchar(100);

2 begin
3 select user_name ||','|| address into addr from userdetails where Ph_num=phone;
4 return addr;
5 exception
6 when no_data_found then
7 return 'Address not found';
8 end;
9 /

Function created.

SQL> declare
2 x number(10);
3 n number(10);
4 addr1 varchar(100);
5 begin
6 x:='&n';
7 addr1:=findaddress(x);
8 dbms_output.put_line(addr1);
9 end;
10 /

OUTPUT:

Enter value for n: 9876543210


old 6: x:='&n';
new 6: x:='9876543210';
deepika,tiruvannamalai

PL/SQL procedure successfully completed.

SQL> /
Enter value for n: 8765467728
old 6: x:='&n';
new 6: x:='8765467728';
Address not found

PL/SQL procedure successfully completed.

SAVE:

SQL> commit;

Commit complete.

Вам также может понравиться