Exercise 1

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 139

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

EXERCISE 1

SQL*Plus: Release 12.1.0.2.0 Production on Thu Jan 23 09:56:02 2020

Copyright (c) 1982, 2014, Oracle. All rights reserved.

Enter user-name: SYSTEM

Enter password:

Connected to:

Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production

With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL> CREATE TABLE EMP(ID UNIQUE,NAME VARCHAR(20));

CREATE TABLE EMP(ID UNIQUE,NAME VARCHAR(20))

ERROR at line 1:

ORA-02263: need to specify the datatype for this column

SQL> CREATE TABLE EMP(ID NUMBER(4) UNIQUE,NAME VARCHAR(20));


Table created.

SQL> INSERT INTO TABLE EMP(1,"TONU");

INSERT INTO TABLE EMP(1,"TONU")

ERROR at line 1:

ORA-00903: invalid table name

SQL> INSERT INTO EMP(1,"TONU");

INSERT INTO EMP(1,"TONU")

ERROR at line 1:

ORA-00928: missing SELECT keyword

SQL> INSERT INTO EMP VALUES(1,"TONU");

INSERT INTO EMP VALUES(1,"TONU")

ERROR at line 1:

ORA-00984: column not allowed here

SQL> INSERT INTO TABLE EMP VALUES(1,'TONU');


INSERT INTO TABLE EMP VALUES(1,'TONU')

ERROR at line 1:

ORA-00903: invalid table name

SQL> INSERT INTO EMP VALUES(1,'TONU');

1 row created.

SQL> INSERT INTO EMP VALUES(2,'PRATIK');

1 row created.

SQL> INSERT INTO EMP VALUES(3,'JEET');

1 row created.

SQL> INSERT INTO EMP VALUES(3,'RAKESH');

INSERT INTO EMP VALUES(3,'RAKESH')

ERROR at line 1:

ORA-00001: unique constraint (SYSTEM.SYS_C009993) violated


SQL> SHOW TABLE;

SP2-0158: unknown SHOW option "TABLE"

SQL> SHOW EMP;

SP2-0158: unknown SHOW option "EMP"

SQL> SELECTT *FROM EMP;

SP2-0734: unknown command beginning "SELECTT *F..." - rest of line ignored.

SQL> select *from emp;

ID NAME

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

1 TONU

2 PRATIK

3 JEET

SQL> INSERT INTO EMP VALUES(323456,'JEET');

INSERT INTO EMP VALUES(323456,'JEET')

ERROR at line 1:

ORA-01438: value larger than specified precision allowed for this column

SQL> INSERT INTO EMP VALUES(3234,'JEET');

1 row created.
SQL> INSERT INTO EMP VALUES(32344,'JEET');

INSERT INTO EMP VALUES(32344,'JEET')

ERROR at line 1:

ORA-01438: value larger than specified precision allowed for this column

SQL> INSERT INTO EMP VALUES(32,'JEET');

1 row created.

SQL> INSERT INTO EMP VALUES((32,'JEET'),(5,'x'));

INSERT INTO EMP VALUES((32,'JEET'),(5,'x'))

ERROR at line 1:

ORA-00907: missing right parenthesis

SQL> INSERT INTO EMP VALUES((7,'rock'),(5,'x'));

INSERT INTO EMP VALUES((7,'rock'),(5,'x'))

ERROR at line 1:

ORA-00907: missing right parenthesis


SQL> INSERT INTO EMP VALUES{(7,'rock'),(5,'x')};

INSERT INTO EMP VALUES{(7,'rock'),(5,'x')}

ERROR at line 1:

ORA-00936: missing expression

SQL> ;

1* INSERT INTO EMP VALUES{(7,'rock'),(5,'x')}

SQL> create table emp(empno number(6),ename varchar2(20),job varchar2(10),mgr number(3),deptno


number(3),sal number(7,2));

create table emp(empno number(6),ename varchar2(20),job varchar2(10),mgr number(3),deptno


number(3),sal number(7,2))

ERROR at line 1:

ORA-00955: name is already used by an existing object

SQL> create table emp1(empno number(6),ename varchar2(20),job varchar2(10),mgr number(3),deptno


number(3),sal number(7,2));

Table created.

SQL> desc emp;

Name Null? Type

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

ID NUMBER(4)
NAME VARCHAR2(20)

SQL> desc emp1;

Name Null? Type

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

EMPNO NUMBER(6)

ENAME VARCHAR2(20)

JOB VARCHAR2(10)

MGR NUMBER(3)

DEPTNO NUMBER(3)

SAL NUMBER(7,2)

SQL>

SQL> alter table emp1(constraint not null(ename));

alter table emp1(constraint not null(ename))

ERROR at line 1:

ORA-01735: invalid ALTER TABLE option

SQL> create table emp2(empno number(6),ename varchar2(20),job varchar2(10),mgr number(3),deptno


number(3),sal number(7,2));

Table created.

SQL> desc emp2;


Name Null? Type

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

EMPNO NUMBER(6)

ENAME VARCHAR2(20)

JOB VARCHAR2(10)

MGR NUMBER(3)

DEPTNO NUMBER(3)

SAL NUMBER(7,2)

SQL> insert into emp2(1,'s.c.BOSS','soft','sdf','23',20000);

insert into emp2(1,'s.c.BOSS','soft','sdf','23',20000)

ERROR at line 1:

ORA-00928: missing SELECT keyword

SQL> insert into emp2 values(1,'s.c.BOSS','soft','sdf','23',20000);

insert into emp2 values(1,'s.c.BOSS','soft','sdf','23',20000)

ERROR at line 1:

ORA-01722: invalid number

SQL> insert into emp2 values(1,'s.c.BOSS','soft',123,45,20000);


1 row created.

SQL> select *from emp2;

EMPNO ENAME JOB MGR DEPTNO SAL

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

1 s.c.BOSS soft 123 45 20000

SQL> alter table emp2 add commission int;

Table altered.

SQL> select *from emp2;

EMPNO ENAME JOB MGR DEPTNO SAL

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

COMMISSION

----------

1 s.c.BOSS soft 123 45 20000

SQL> select *from emp2;

EMPNO ENAME JOB MGR DEPTNO SAL


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

COMMISSION

----------

1 s.c.BOSS soft 123 45 20000

SQL> insert into emp2 values(1,'s.c.BOSS','soft',123,45,20000,999);

1 row created.

SQL> select *from emp2;

EMPNO ENAME JOB MGR DEPTNO SAL

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

COMMISSION

----------

1 s.c.BOSS soft 123 45 20000

1 s.c.BOSS soft 123 45 20000

999

SQL> alter table emp2 add (commission number(5);


alter table emp2 add (commission number(5)

ERROR at line 1:

ORA-00907: missing right parenthesis

SQL> alter table emp2 add (commission number(5));

alter table emp2 add (commission number(5))

ERROR at line 1:

ORA-01430: column being added already exists in table

SQL> alter table emp2 add (commission2 number(5));

Table altered.

SQL> select *from emp2;

EMPNO ENAME JOB MGR DEPTNO SAL

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

COMMISSION COMMISSION2

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

1 s.c.BOSS soft 123 45 20000


1 s.c.BOSS soft 123 45 20000

999

SQL> alter table emp2 modify(job varchr2(10));

alter table emp2 modify(job varchr2(10))

ERROR at line 1:

ORA-00907: missing right parenthesis

SQL> alter table emp2 modify(job varchr2(20));

alter table emp2 modify(job varchr2(20))

ERROR at line 1:

ORA-00907: missing right parenthesis

SQL> alter table emp2 modify(job varchar2(20));

Table altered.

SQL> select *from emp2;


EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION COMMISSION2

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

1 s.c.BOSS soft 123 45

20000

1 s.c.BOSS soft 123 45

20000 999

SQL>

EXERCISE 2

SQL> SELECT ENAME FROM EMP WHERE SAL<(SELECT AVG(SAL) FROM EMP) AND JOB LIKE 'S%';

ENAME

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

ASANT

ALLEN

WARD

FORD

ALLEY
SQL> SELECT ENAME,JOB,DNAME FROM EMP,DEPT WHERE EMP.DEPTNO=DEPT.DEPTNO;

ENAME JOB DNAME

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

SMITH CLERK DEVELOPMENT

ASANT SALESMAN DEVELOPMENT

ALLEN SALESMAN MAINTAINANCE

WARD SALESMAN MAINTAINANCE

JONES MANAGER DEVELOPMENT

BLAKE MANAGER MAINTAINANCE

SCOTT HOD MANAGEMENT

CLARK CEO MANAGEMENT

FORD SUPERVIS DEVELOPMENT

ALLEY SALESMAN MAINTAINANCE

DRANK CLERCK MAINTAINANCE

11 rows selected.

SQL>Q9
SQL> SELECT ENAME FROM EMP WHERE JOB IN (SELECT JOB FROM EMP,DEPT WHERE
EMP.DEPTNO=DEPT.DEPTNO AND LOC='MAIN BLOCK' ) ;

ENAME

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

SCOTT

CLARK

SQL>

SQL>

Q1..

SQL> SELECT ENAME FROM (select *from emp INNER JOIN DEPT ON EMP.DEPTNO=DEPT.DEPTNO)
WHERE DNAME IN ('MAINTAINANCE','DEVELOPMENT');

ENAME

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

SMITH

ASANT

ALLEN

WARD

JONES
BLAKE

FORD

ALLEY

DRANK

9 rows selected.

SQL>

Q4

SQL> SELECT *FROM EMP WHERE SAL> ANY(SELECT SAL FROM EMP inner join DEPT ON
EMP.DEPTNO=DEPT.DEPTNO AND DEPT.DEPTNO=30);

EMPNO ENAME JOB MGR

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

DEPTNO SAL COMM DOB

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


7839 CLARK CEO

10 9900 16-MAR72

7698 BLAKE MANAGER 7839

30 9850 1000 01-MAY79

7566 JONES MANAGER 7839

20 5975 1000 02-APR81

EMPNO ENAME JOB MGR

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

DEPTNO SAL COMM DOB

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

7611 SCOTT HOD 7839

10 3000 12-JUN76

7499 ALLEN SALESMAN 7698

30 1600 300 20-FEB81

7399 ASANT SALESMAN 7566

20 1600 300 20-FEB81

EMPNO ENAME JOB MGR


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

DEPTNO SAL COMM DOB

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

7599 ALLEY SALESMAN 7698

30 1600 300 20-FEB81

7 rows selected.

SQL>......................

Q5...

SQL> select ename from emp where job =(select job from emp where ename='JONES' AND SAL > 'FORD')
;

select ename from emp where job =(select job from emp where ename='JONES' AND SAL > 'FORD')

ERROR at line 1:

ORA-01722: invalid number

SQL> select ename from emp where job =(select job from emp where ename='JONES' AND SAL >
(SELECT SAL FROM EMP WHERE ENAME='FORD')) ;

ENAME

--------------------
JONES

BLAKE

SQL>Q6....................

SQL> SELECT ENAME FROM EMP WHERE DEPTNO=10 AND JOB IN(SELECT JOB FROM DEPT,EMP WHERE
DEPT.DEPTNO=EMP.DEPTNO AND DNAME='MANAGEMENT');

ENAME

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

SCOTT

CLARK

SQL>...............

Q7

SQL> SELECT ENAME ,DEPTNO,SAL FROM EMP;

ENAME DEPTNO SAL

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

SMITH 20 800

ASANT 20 1600

ALLEN 30 1600
WARD 30 1250

JONES 20 5975

BLAKE 30 9850

SCOTT 10 3000

CLARK 10 9900

FORD 20 800

ALLEY 30 1600

DRANK 30 1250

11 rows selected.

SQL>Q9

SQL> SELECT ENAME FROM EMP WHERE JOB IN (SELECT JOB FROM EMP,DEPT WHERE
EMP.DEPTNO=DEPT.DEPTNO AND LOC='MAIN BLOCK' ) ;

ENAME

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

SCOTT

CLARK

SQL>

Q10
SQL> SELECT ENAME FROM EMP WHERE DEPTNO=20 AND JOB IN (SELECT JOB FROM EMP,DEPT WHERE
EMP.DEPTNO=DEPT.DEPTNO AND DNAME='DEVELOPMENT');

ENAME

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

SMITH

ASANT

JONES

FORD

SQL>....................

Q11

SQL> SELECT ENAME FROM EMP WHERE JOB IN(SELECT JOB FROM EMP,DEPT WHERE ENAME='ALLEN' )
AND SAL=(SELECT SAL FROM EMP WHERE ENAME='ALLEN') AND ENAME NOT IN('ALLEN');

ENAME

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

ASANT

ALLEY

SQL>
Q12

Q12....

SQL> SELECT DNAME FROM DEPT WHERE (SELECT COUNT(*) FROM EMP WHERE JOB='SALESMAN' AND
DEPT.DEPTNO=EMP.DEPTNO)>=2;

DNAME

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

MAINTAINANCE

SQL>

Q13

SQL> SELECT ENAME FROM EMP WHERE DEPTNO=20 AND JOB IN (SELECT JOB FROM EMP WHERE
DEPTNO=30);

ENAME

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

ASANT
JONES

SQL>............

Q15

SQL> SELECT MAX(SAL) ,DNAME FROM EMP,DEPT WHERE EMP.DEPTNO=DEPT.DEPTNO AND SAL>9000
GROUP BY DNAME;

MAX(SAL) DNAME

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

9850 MAINTAINANCE

9900 MANAGEMENT

SQL>Q16

SQL> SELECT MAX(SAL) ,DNAME FROM EMP,DEPT WHERE EMP.DEPTNO=DEPT.DEPTNO AND SAL>9000
GROUP BY DNAME;

MAX(SAL) DNAME

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

9850 MAINTAINANCE

9900 MANAGEMENT
SQL>Q17

SQL> CREATE TABLE ACCDEPT AS SELECT * FROM DEPT WHERE DEPTNO IN(10,20,30);

Table created.

SQL>Q18

SQL> SELECT ENAME,DNAME FROM EMP LEFT JOIN DEPT ON EMP.DEPTNO=DEPT.DEPTNO;

ENAME DNAME

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

CLARK MANAGEMENT

SCOTT MANAGEMENT

FORD DEVELOPMENT

JONES DEVELOPMENT

ASANT DEVELOPMENT

SMITH DEVELOPMENT

DRANK MAINTAINANCE

ALLEY MAINTAINANCE
BLAKE MAINTAINANCE

WARD MAINTAINANCE

ALLEN MAINTAINANCE

11 rows selected.

SQL>Q19

20

SQL> SELECT ENAME,DNAME FROM EMP RIGHT JOIN DEPT ON EMP.DEPTNO=DEPT.DEPTNO;

ENAME DNAME

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

SMITH DEVELOPMENT

ASANT DEVELOPMENT

ALLEN MAINTAINANCE

WARD MAINTAINANCE

JONES DEVELOPMENT

BLAKE MAINTAINANCE

SCOTT MANAGEMENT

CLARK MANAGEMENT

FORD DEVELOPMENT

ALLEY MAINTAINANCE

DRANK MAINTAINANCE
ENAME DNAME

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

SALES

TRANSPORT

13 rows selected.

SQL>Q21

SQL> SELECT ENAME ,DNAME FROM EMP FULL JOIN DEPT ON EMP.DEPTNO=DEPT.DEPTNO;

ENAME DNAME

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

SMITH DEVELOPMENT

ASANT DEVELOPMENT

ALLEN MAINTAINANCE

WARD MAINTAINANCE

JONES DEVELOPMENT

BLAKE MAINTAINANCE

SCOTT MANAGEMENT

CLARK MANAGEMENT

FORD DEVELOPMENT

ALLEY MAINTAINANCE

DRANK MAINTAINANCE
ENAME DNAME

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

SALES

TRANSPORT

13 rows selected.

SQL>

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

7421 DRANK CLERCK 7698 30

1250 500 22-JAN-82

10 rows selected.

SQL> CREATE TABLE ACCDEPT AS SELECT * FROM DEPT WHERE DEPTNO IN (10,20,30);
Table created.

SQL> SELECT DEPT.DNAME FROM DEPT,ACCDEPT WHERE DEPT.DEPTNO=ACCDEPT.DEPTNO;

DNAME

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

MANAGEMENT

DEVELOPMENT

MAINTAINANCE

SQL> SELECT ENAME FROM EMP WHERE DEPTNO IN (SELECT DEPTNO FROM DEPT WHERE DNAME

NOT IN

EXERCISE 3

SQL*Plus: Release 12.1.0.2.0 Production on Thu Jan 30 09:26:48 2020

Copyright (c) 1982, 2014, Oracle. All rights reserved.

Enter user-name: system

Enter password:

Last Successful login time: Sat Jan 25 2020 09:29:44 +05:30

Connected to:

Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production


With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL> DESC EMP;

Name Null? Type

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

EMPNO NOT NULL NUMBER(5)

ENAME VARCHAR2(15)

JOB VARCHAR2(10)

MGR NUMBER(4)

SAL NUMBER(7,2)

COMISSION NUMBER(38)

DOB DATE

DEPTNO NUMBER(10)

SQL> DESC DEPT

Name Null? Type

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

DNAME VARCHAR2(30)

LOC VARCHAR2(30)

DEPTNO NOT NULL NUMBER(10)

SQL> SELECT *FROM EMP;

EMPNO ENAME JOB MGR SAL COMISSION DOB

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


DEPTNO

----------

7369 smith clerk 566 800 0 17-DEC-80

20

7399 asant saleman 566 1600 300 20-FEB-81

20

100 xyz soft 1234 34 77777 01-JUL-98

60

EMPNO ENAME JOB MGR SAL COMISSION DOB

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

DEPTNO

----------

7421 drank clerck 698 1250 500 22-JAN-82

30

7566 blank managers 698 1250 500 22-JAN-82

40

7698 jones managers 557 1258 400 21-JAN-82

40
6 rows selected.

SQL> SELECT *FROM DEPT;

DNAME LOC DEPTNO

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

manegment main block 10

developmet manufacture unit 20

maintainace main block 30

transport admin block 40

sales head office 50

ca it block 60

6 rows selected.

SQL> create table tb(name number(10) constraint uni uniqe);

create table tb(name number(10) constraint uni uniqe)

ERROR at line 1:

ORA-02253: constraint specification not allowed here

SQL> create table tb(name number(10) constraints uni uniqe);

create table tb(name number(10) constraints uni uniqe)


*

ERROR at line 1:

ORA-02253: constraint specification not allowed here

SQL> create table tb(name number(10) constraints uni uniqe);

create table tb(name number(10) constraints uni uniqe)

ERROR at line 1:

ORA-02253: constraint specification not allowed here

SQL> create table tb(name number(10) uniqe);

create table tb(name number(10) uniqe)

ERROR at line 1:

ORA-00907: missing right parenthesis

SQL> create table tb(name number(10) constraints uni unique);

Table created.

SQL> insert into tb(10);

insert into tb(10)


*

ERROR at line 1:

ORA-00928: missing SELECT keyword

SQL> insert into tb values(10);

1 row created.

SQL> select *from tb;

NAME

----------

10

SQL> insert into tb values(12);

1 row created.

SQL> insert into tb values(10);

insert into tb values(10)

ERROR at line 1:

ORA-00001: unique constraint (SYSTEM.UNI) violated


SQL> alter table tb add ;

alter table tb add

ERROR at line 1:

ORA-00904: : invalid identifier

SQL> create table tb2(name number(10) constraints lele primary key);

Table created.

SQL> insert into tb2 values(10);

1 row created.

SQL> insert into tb2 values(10);

insert into tb2 values(10)

ERROR at line 1:

ORA-00001: unique constraint (SYSTEM.LELE) violated

SQL> help|forigen key

SP2-0172: No HELP matching this topic was found.


SQL> help|forigen

SP2-0172: No HELP matching this topic was found.

SQL> help|primary key

SP2-0172: No HELP matching this topic was found.

SQL> help|[primary key]

SP2-0172: No HELP matching this topic was found.

SQL> help|[primary key];

SP2-0172: No HELP matching this topic was found.

SQL> help

HELP

----

Accesses this command line help system. Enter HELP INDEX or ? INDEX

for a list of topics.

You can view SQL*Plus resources at

http://www.oracle.com/technology/documentation/

HELP|? [topic]

SQL> select last_day('1-jan-2009') from dual;

LAST_DAY(
---------

31-JAN-09

SQL> months_between('1-jan-2009','4-oct-2009');

SP2-0734: unknown command beginning "months_bet..." - rest of line ignored.

SQL> select months_between('1-jan-2009','4-oct-2009');

select months_between('1-jan-2009','4-oct-2009')

ERROR at line 1:

ORA-00923: FROM keyword not found where expected

SQL> select months_between('1-jan-2009','4-oct-2009') from dual;

MONTHS_BETWEEN('1-JAN-2009','4-OCT-2009')

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

-9.0967742

SQL> select months_between('1-jan-2009','4-oct-2009') from dual;

MONTHS_BETWEEN('1-JAN-2009','4-OCT-2009')

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

-9.0967742

SQL> select next_day(sysdate,'wednesday') from dual;


NEXT_DAY(

---------

05-FEB-20

SQL> select round('1-jan-2009') from dual;

select round('1-jan-2009') from dual

ERROR at line 1:

ORA-01722: invalid number

SQL> select round('1-jan-2009','year') from dual;

select round('1-jan-2009','year') from dual

ERROR at line 1:

ORA-01722: invalid number

SQL> select round('1-jan-2009') from dual;

select round('1-jan-2009') from dual

ERROR at line 1:

ORA-01722: invalid number


SQL> select (sysdate,'11-jan-2019');

select (sysdate,'11-jan-2019')

ERROR at line 1:

ORA-00907: missing right parenthesis

SQL> select to_char(sysdate,'11-jan-2019');

select to_char(sysdate,'11-jan-2019')

ERROR at line 1:

ORA-00923: FROM keyword not found where expected

SQL> select to_char(sysdate,'11-jan-19');

select to_char(sysdate,'11-jan-19')

ERROR at line 1:

ORA-00923: FROM keyword not found where expected

SQL> select to_char(sysdate,'11-jan-19')from dual;

select to_char(sysdate,'11-jan-19')from dual

*
ERROR at line 1:

ORA-01821: date format not recognized

SQL> select to_char(sysdate,'11-jan-2019')from dual;

select to_char(sysdate,'11-jan-2019')from dual

ERROR at line 1:

ORA-01821: date format not recognized

SQL> select to_date('jan 15 2019','mm-dd-yy')from dual;

TO_DATE('

---------

15-JAN-19

SQL> select to_date('jan 15 2019','dd-mm-yy')from dual;

select to_date('jan 15 2019','dd-mm-yy')from dual

ERROR at line 1:

ORA-01858: a non-numeric character was found where a numeric was expected

SQL> select to_date('jan 15 2019','mm-dd-yy')from dual;


TO_DATE('

---------

15-JAN-19

SQL> select months_between('1-jan-2009','4-oct-2009');

select months_between('1-jan-2009','4-oct-2009')

ERROR at line 1:

ORA-00923: FROM keyword not found where expected

SQL> select months_between('1-jan-2009','4-oct-2009') from dual;

MONTHS_BETWEEN('1-JAN-2009','4-OCT-2009')

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

-9.0967742

SQL> select uid from dual;

UID

----------

SQL> user;
SP2-0042: unknown command "user" - rest of line ignored.

SQL> select user from dual;

USER

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

SYSTEM

SQL> select *from emp;

EMPNO ENAME JOB MGR SAL COMISSION DOB

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

DEPTNO

----------

7369 smith clerk 566 800 0 17-DEC-80

20

7399 asant saleman 566 1600 300 20-FEB-81

20

100 xyz soft 1234 34 77777 01-JUL-98

60

EMPNO ENAME JOB MGR SAL COMISSION DOB

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


DEPTNO

----------

7421 drank clerck 698 1250 500 22-JAN-82

30

7566 blank managers 698 1250 500 22-JAN-82

40

7698 jones managers 557 1258 400 21-JAN-82

40

6 rows selected.

SQL> sselect to_char(sysdate,'YYYY-MM-DD') FROM DUAL;

SP2-0734: unknown command beginning "sselect to..." - rest of line ignored.

SQL> select to_char(sysdate,'YYYY-MM-DD') FROM DUAL;

TO_CHAR(SY

----------

2020-01-30

SQL> select to_char(sysdate,'MM-DD-YYYY') FROM DUAL;

TO_CHAR(SY
----------

01-30-2020

SQL> select TODATE(to_char(sysdate,'YYYY/MM/D') )FROM DUAL;

select TODATE(to_char(sysdate,'YYYY/MM/D') )FROM DUAL

ERROR at line 1:

ORA-00904: "TODATE": invalid identifier

SQL> select TODATE(to_char(sysdate,'YYYY/MM/D'),'MM/DD/YYY' )FROM DUAL;

select TODATE(to_char(sysdate,'YYYY/MM/D'),'MM/DD/YYY' )FROM DUAL

ERROR at line 1:

ORA-00904: "TODATE": invalid identifier

SQL> select TODATE(to_char(sysdate,'MM/DD/YYY'),'MM/DD/YYY' )FROM DUAL;

select TODATE(to_char(sysdate,'MM/DD/YYY'),'MM/DD/YYY' )FROM DUAL

ERROR at line 1:

ORA-00904: "TODATE": invalid identifier

SQL> select TODATE(to_char(sysdate,'MM/DD/YYY'),'MM/DD/YYY' )MY_DATE FROM DUAL;


select TODATE(to_char(sysdate,'MM/DD/YYY'),'MM/DD/YYY' )MY_DATE FROM DUAL

ERROR at line 1:

ORA-00904: "TODATE": invalid identifier

SQL> select TO_DATE(to_char(sysdate,'MM/DD/YYY'),'MM/DD/YYY' )MY_DATE FROM DUAL;

MY_DATE

---------

30-JAN-20

SQL> select TO_DATE(to_char(sysdate,'MM/DD/YYY'),'DD/MM/YYY' )MY_DATE FROM DUAL;

select TO_DATE(to_char(sysdate,'MM/DD/YYY'),'DD/MM/YYY' )MY_DATE FROM DUAL

ERROR at line 1:

ORA-01843: not a valid month

SQL> select TO_DATE(to_char(sysdate,'DD/MM/YYY'),'DD/MM/YYY' )MY_DATE FROM DUAL;

MY_DATE

---------

30-JAN-20
SQL> select TO_DATE(to_char(sysdate,'DD/YYY/MM'),'DD/YYY/MM' )MY_DATE FROM DUAL;

MY_DATE

---------

30-JAN-20

SQL> ALTER SESSION SET NLS_DATE_FORMATE='MM/DD/YYYY' FROM MDUAL;

ALTER SESSION SET NLS_DATE_FORMATE='MM/DD/YYYY' FROM MDUAL

ERROR at line 1:

ORA-00922: missing or invalid option

SQL> ALTER SESSION SET NLS_DATE_FORMATE='MM/DD/YYYY' FROM DUAL;

ALTER SESSION SET NLS_DATE_FORMATE='MM/DD/YYYY' FROM DUAL

ERROR at line 1:

ORA-00922: missing or invalid option

SQL> ALTER SESSION SET NLS_DATE_FORMATE='MM/DD/YYYY';

ALTER SESSION SET NLS_DATE_FORMATE='MM/DD/YYYY'

ERROR at line 1:

ORA-00922: missing or invalid option


SQL> ALTER SESSION SET NLS_DATE FORMATE='MM/DD/YYYY';

ALTER SESSION SET NLS_DATE FORMATE='MM/DD/YYYY'

ERROR at line 1:

ORA-00922: missing or invalid option

SQL> ALTER SESSION SET 'NLS_DATE FORMATE=MM/DD/YYYY' FROM;

ALTER SESSION SET 'NLS_DATE FORMATE=MM/DD/YYYY' FROM

ERROR at line 1:

ORA-00922: missing or invalid option

SQL> ALTER SESSION SET 'NLS_DATE_FORMATE=MM/DD/YYYY' FROM;

ALTER SESSION SET 'NLS_DATE_FORMATE=MM/DD/YYYY' FROM

ERROR at line 1:

ORA-00922: missing or invalid option

SQL> ALTER SESSION SET 'NLS_DATE_FORMAT=MM/DD/YYYY' FROM;

ALTER SESSION SET 'NLS_DATE_FORMAT=MM/DD/YYYY' FROM


*

ERROR at line 1:

ORA-00922: missing or invalid option

SQL> ALTER SESSION SET NLS_DATE_FORMAT='MM/DD/YYYY' FROM;

ALTER SESSION SET NLS_DATE_FORMAT='MM/DD/YYYY' FROM

ERROR at line 1:

ORA-00922: missing or invalid option

SQL> ALTER SESSION SET NLS_DATE_FORMAT='MM/DD/YYYY' ;

Session altered.

SQL> DATE;

SP2-0042: unknown command "DATE" - rest of line ignored.

SQL> select TO_DATE(to_char(sysdate,'DD/MM/YYY'),'DD/MM/YYY' )MY_DATE FROM DUAL;

MY_DATE

----------

01/30/2020

SQL> select TO_DATE(to_char(sysdate,'DD/MM/YYY'),'DD/MM/YYY' )MY_DATE FROM DUAL;


MY_DATE

----------

01/30/2020

SQL> DESC EMP;

Name Null? Type

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

EMPNO NOT NULL NUMBER(5)

ENAME VARCHAR2(15)

JOB VARCHAR2(10)

MGR NUMBER(4)

SAL NUMBER(7,2)

COMISSION NUMBER(38)

DOB DATE

DEPTNO NUMBER(10)

SQL> SELECT ENAME FROM EMP WHERE DEPTNO IN =();

SELECT ENAME FROM EMP WHERE DEPTNO IN =()

ERROR at line 1:

ORA-00936: missing expression

SQL> DESC EMP;


Name Null? Type

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

EMPNO NOT NULL NUMBER(5)

ENAME VARCHAR2(15)

JOB VARCHAR2(10)

MGR NUMBER(4)

SAL NUMBER(7,2)

COMISSION NUMBER(38)

DOB DATE

DEPTNO NUMBER(10)

SQL> SELECT DEPTNO FROM EMP;

DEPTNO

----------

20

20

60

30

40

40

6 rows selected.

SQL> SELECT ENAME FROM EMP WHERE DEPTNO IN (20,60);


ENAME

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

smith

asant

xyz

SQL>

EXERCISE 4
2 (SELECT DEPT.DNAME FROM DEPT,ACCDEPT WHERE DEPT.DEPTNO=ACCDEPT.DEPTNO));

no rows selected

SQL> SELECT ENAME,DNAME FROM EMP LEFT JOIN DEPT ON EMP.DEPTNO=DEPT.DEPTNO;

ENAME DNAME

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

CLARK MANAGEMENT

SCOTT MANAGEMENT
FORD DEVELOPMENT

JONES DEVELOPMENT

ASANT DEVELOPMENT

SMITH DEVELOPMENT

DRANK MAINTAINANCE

ALLEY MAINTAINANCE

BLAKE MAINTAINANCE

ALLEN MAINTAINANCE

10 rows selected.

SQL> SELECT ENAME,DNAME FROM EMP RIGHT JOIN DEPT ON EMP.DEPTNO=DEPT.DEPTNO;

ENAME DNAME

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

SMITH DEVELOPMENT

ASANT DEVELOPMENT

ALLEN MAINTAINANCE

JONES DEVELOPMENT

BLAKE MAINTAINANCE

SCOTT MANAGEMENT

CLARK MANAGEMENT

FORD DEVELOPMENT

ALLEY MAINTAINANCE

DRANK MAINTAINANCE
SALES

ENAME DNAME

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

TRANSPORT

12 rows selected.

SQL> SELECT ENAME,DNAME FROM EMP FULL OUTER JOIN DEPT ON EMP.DEPTNO=DEPT.DEPTNO;

ENAME DNAME

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

SMITH DEVELOPMENT

ASANT DEVELOPMENT

ALLEN MAINTAINANCE

JONES DEVELOPMENT

BLAKE MAINTAINANCE

SCOTT MANAGEMENT

CLARK MANAGEMENT

FORD DEVELOPMENT

ALLEY MAINTAINANCE

DRANK MAINTAINANCE

SALES
ENAME DNAME

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

TRANSPORT

12 rows selected.

SQL> SELECT A.ENAME AS EMPLOYEE,B.ENAME AS MANAGER FROM EMP A,EMP B WHERE A.MGR=

B.EMPNO;

EMPLOYEE MANAGER

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

ASANT JONES

SMITH JONES

DRANK BLAKE

ALLEY BLAKE

ALLEN BLAKE

SCOTT CLARK

BLAKE CLARK

JONES CLARK

8 rows selected.

SQL> SELECT *FROM EMP;

EMPNO ENAME JOB MGR DEPTNO


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

SAL COMMISSION DOB

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

7369 SMITH CLERK 7566 20

800 0 17-DEC-80

7399 ASANT SALESMAN 7566 20

1600 300 20-FEB-81

7499 ALLEN SALESMAN 7698 30

1600 300 20-FEB-81

EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7566 JONES MANAGER 7839 20

5975 1000 02-APR-81

7698 BLAKE MANAGER 7839 30

9850 1000 01-MAY-79

7611 SCOTT HOD 7839 10

3000 12-JUN-76
EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7839 CLARK CEO 10

9900 16-MAR-72

7368 FORD SUPERVIS 7366 20

800 0 17-DEC-80

7599 ALLEY SALESMAN 7698 30

1600 300 20-FEB-81

EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7421 DRANK CLERCK 7698 30

1250 500 22-JAN-82

10 rows selected.
SQL> SELECT A.ENAME AS EMPLOYEE,B.SAL AS MANAGER_SALARY FROM EMP A,EMP B WHERE

2 A.MGR=B.EMPNO;

EMPLOYEE MANAGER_SALARY

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

ASANT 5975

SMITH 5975

DRANK 9850

ALLEY 9850

ALLEN 9850

SCOTT 9900

BLAKE 9900

JONES 9900

8 rows selected.

SQL> SELECT ENAME,JOB,EMPNO,DNAME,LOC FROM EMP,DEPT WHERE EMP.DEPTNO=DEPT.DEPTNO

ENAME JOB EMPNO DNAME

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

LOC

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

SMITH CLERK 7369 DEVELOPMENT


MANUFACTURING UNIT

ASANT SALESMAN 7399 DEVELOPMENT

MANUFACTURING UNIT

ALLEN SALESMAN 7499 MAINTAINANCE

MAIN BLOCK

ENAME JOB EMPNO DNAME

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

LOC

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

JONES MANAGER 7566 DEVELOPMENT

MANUFACTURING UNIT

BLAKE MANAGER 7698 MAINTAINANCE

MAIN BLOCK

SCOTT HOD 7611 MANAGEMENT

MAIN BLOCK

ENAME JOB EMPNO DNAME

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


LOC

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

CLARK CEO 7839 MANAGEMENT

MAIN BLOCK

FORD SUPERVIS 7368 DEVELOPMENT

MANUFACTURING UNIT

ALLEY SALESMAN 7599 MAINTAINANCE

MAIN BLOCK

ENAME JOB EMPNO DNAME

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

LOC

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

DRANK CLERCK 7421 MAINTAINANCE

MAIN BLOCK

10 rows selected.

SQL> SELECT A.EMPNO,A.ENAME AS EMPLOYEE,A.JOB,B.ENAME AS MANAGER FROM EMP A,EMP

B WHERE

2 A.MGR=B.EMPNO;
EMPNO EMPLOYEE JOB MANAGER

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

7399 ASANT SALESMAN JONES

7369 SMITH CLERK JONES

7421 DRANK CLERCK BLAKE

7599 ALLEY SALESMAN BLAKE

7499 ALLEN SALESMAN BLAKE

7611 SCOTT HOD CLARK

7698 BLAKE MANAGER CLARK

7566 JONES MANAGER CLARK

8 rows selected.

SQL> SELECT *FROM EMP;

EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7369 SMITH CLERK 7566 20

800 0 17-DEC-80

7399 ASANT SALESMAN 7566 20

1600 300 20-FEB-81


7499 ALLEN SALESMAN 7698 30

1600 300 20-FEB-81

EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7566 JONES MANAGER 7839 20

5975 1000 02-APR-81

7698 BLAKE MANAGER 7839 30

9850 1000 01-MAY-79

7611 SCOTT HOD 7839 10

3000 12-JUN-76

EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7839 CLARK CEO 10

9900 16-MAR-72
7368 FORD SUPERVIS 7366 20

800 0 17-DEC-80

7599 ALLEY SALESMAN 7698 30

1600 300 20-FEB-81

EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7421 DRANK CLERCK 7698 30

1250 500 22-JAN-82

10 rows selected.

SQL>---------- ---------- ---------

7421 DRANK CLERCK 7698 30

1250 500 22-JAN-82

10 rows selected.
SQL> CREATE TABLE ACCDEPT AS SELECT * FROM DEPT WHERE DEPTNO IN (10,20,30);

Table created.

SQL> SELECT DEPT.DNAME FROM DEPT,ACCDEPT WHERE DEPT.DEPTNO=ACCDEPT.DEPTNO;

DNAME

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

MANAGEMENT

DEVELOPMENT

MAINTAINANCE

SQL> SELECT ENAME FROM EMP WHERE DEPTNO IN (SELECT DEPTNO FROM DEPT WHERE DNAME

NOT IN

2 (SELECT DEPT.DNAME FROM DEPT,ACCDEPT WHERE DEPT.DEPTNO=ACCDEPT.DEPTNO));

no rows selected

SQL> SELECT ENAME,DNAME FROM EMP LEFT JOIN DEPT ON EMP.DEPTNO=DEPT.DEPTNO;

ENAME DNAME

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

CLARK MANAGEMENT

SCOTT MANAGEMENT

FORD DEVELOPMENT
JONES DEVELOPMENT

ASANT DEVELOPMENT

SMITH DEVELOPMENT

DRANK MAINTAINANCE

ALLEY MAINTAINANCE

BLAKE MAINTAINANCE

ALLEN MAINTAINANCE

10 rows selected.

SQL> SELECT ENAME,DNAME FROM EMP RIGHT JOIN DEPT ON EMP.DEPTNO=DEPT.DEPTNO;

ENAME DNAME

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

SMITH DEVELOPMENT

ASANT DEVELOPMENT

ALLEN MAINTAINANCE

JONES DEVELOPMENT

BLAKE MAINTAINANCE

SCOTT MANAGEMENT

CLARK MANAGEMENT

FORD DEVELOPMENT

ALLEY MAINTAINANCE

DRANK MAINTAINANCE

SALES
ENAME DNAME

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

TRANSPORT

12 rows selected.

SQL> SELECT ENAME,DNAME FROM EMP FULL OUTER JOIN DEPT ON EMP.DEPTNO=DEPT.DEPTNO;

ENAME DNAME

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

SMITH DEVELOPMENT

ASANT DEVELOPMENT

ALLEN MAINTAINANCE

JONES DEVELOPMENT

BLAKE MAINTAINANCE

SCOTT MANAGEMENT

CLARK MANAGEMENT

FORD DEVELOPMENT

ALLEY MAINTAINANCE

DRANK MAINTAINANCE

SALES

ENAME DNAME
-------------------- --------------------

TRANSPORT

12 rows selected.

SQL> SELECT A.ENAME AS EMPLOYEE,B.ENAME AS MANAGER FROM EMP A,EMP B WHERE A.MGR=

B.EMPNO;

EMPLOYEE MANAGER

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

ASANT JONES

SMITH JONES

DRANK BLAKE

ALLEY BLAKE

ALLEN BLAKE

SCOTT CLARK

BLAKE CLARK

JONES CLARK

8 rows selected.

SQL> SELECT *FROM EMP;

EMPNO ENAME JOB MGR DEPTNO

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


SAL COMMISSION DOB

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

7369 SMITH CLERK 7566 20

800 0 17-DEC-80

7399 ASANT SALESMAN 7566 20

1600 300 20-FEB-81

7499 ALLEN SALESMAN 7698 30

1600 300 20-FEB-81

EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7566 JONES MANAGER 7839 20

5975 1000 02-APR-81

7698 BLAKE MANAGER 7839 30

9850 1000 01-MAY-79

7611 SCOTT HOD 7839 10

3000 12-JUN-76
EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7839 CLARK CEO 10

9900 16-MAR-72

7368 FORD SUPERVIS 7366 20

800 0 17-DEC-80

7599 ALLEY SALESMAN 7698 30

1600 300 20-FEB-81

EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7421 DRANK CLERCK 7698 30

1250 500 22-JAN-82

10 rows selected.
SQL> SELECT A.ENAME AS EMPLOYEE,B.SAL AS MANAGER_SALARY FROM EMP A,EMP B WHERE

2 A.MGR=B.EMPNO;

EMPLOYEE MANAGER_SALARY

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

ASANT 5975

SMITH 5975

DRANK 9850

ALLEY 9850

ALLEN 9850

SCOTT 9900

BLAKE 9900

JONES 9900

8 rows selected.

SQL> SELECT ENAME,JOB,EMPNO,DNAME,LOC FROM EMP,DEPT WHERE EMP.DEPTNO=DEPT.DEPTNO

ENAME JOB EMPNO DNAME

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

LOC

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

SMITH CLERK 7369 DEVELOPMENT

MANUFACTURING UNIT
ASANT SALESMAN 7399 DEVELOPMENT

MANUFACTURING UNIT

ALLEN SALESMAN 7499 MAINTAINANCE

MAIN BLOCK

ENAME JOB EMPNO DNAME

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

LOC

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

JONES MANAGER 7566 DEVELOPMENT

MANUFACTURING UNIT

BLAKE MANAGER 7698 MAINTAINANCE

MAIN BLOCK

SCOTT HOD 7611 MANAGEMENT

MAIN BLOCK

ENAME JOB EMPNO DNAME

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

LOC
--------------------

CLARK CEO 7839 MANAGEMENT

MAIN BLOCK

FORD SUPERVIS 7368 DEVELOPMENT

MANUFACTURING UNIT

ALLEY SALESMAN 7599 MAINTAINANCE

MAIN BLOCK

ENAME JOB EMPNO DNAME

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

LOC

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

DRANK CLERCK 7421 MAINTAINANCE

MAIN BLOCK

10 rows selected.

SQL> SELECT A.EMPNO,A.ENAME AS EMPLOYEE,A.JOB,B.ENAME AS MANAGER FROM EMP A,EMP

B WHERE

2 A.MGR=B.EMPNO;
EMPNO EMPLOYEE JOB MANAGER

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

7399 ASANT SALESMAN JONES

7369 SMITH CLERK JONES

7421 DRANK CLERCK BLAKE

7599 ALLEY SALESMAN BLAKE

7499 ALLEN SALESMAN BLAKE

7611 SCOTT HOD CLARK

7698 BLAKE MANAGER CLARK

7566 JONES MANAGER CLARK

8 rows selected.

SQL> SELECT *FROM EMP;

EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7369 SMITH CLERK 7566 20

800 0 17-DEC-80

7399 ASANT SALESMAN 7566 20

1600 300 20-FEB-81


7499 ALLEN SALESMAN 7698 30

1600 300 20-FEB-81

EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7566 JONES MANAGER 7839 20

5975 1000 02-APR-81

7698 BLAKE MANAGER 7839 30

9850 1000 01-MAY-79

7611 SCOTT HOD 7839 10

3000 12-JUN-76

EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7839 CLARK CEO 10

9900 16-MAR-72
7368 FORD SUPERVIS 7366 20

800 0 17-DEC-80

7599 ALLEY SALESMAN 7698 30

1600 300 20-FEB-81

EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7421 DRANK CLERCK 7698 30

1250 500 22-JAN-82

10 rows selected.

SQL> 1600 300 20-FEB-81

7499 ALLEN SALESMAN 7698 30

1600 300 20-FEB-81

EMPNO ENAME JOB MGR DEPTNO

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


SAL COMMISSION DOB

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

7566 JONES MANAGER 7839 20

5975 1000 02-APR-81

7698 BLAKE MANAGER 7839 30

9850 1000 01-MAY-79

7611 SCOTT HOD 7839 10

3000 12-JUN-76

EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7839 CLARK CEO 10

9900 16-MAR-72

7368 FORD SUPERVIS 7366 20

800 0 17-DEC-80

7599 ALLEY SALESMAN 7698 30

1600 300 20-FEB-81


EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7421 DRANK CLERCK 7698 30

1250 500 22-JAN-82

10 rows selected.

SQL> SELECT A.ENAME AS EMPLOYEE,B.SAL AS MANAGER_SALARY FROM EMP A,EMP B WHERE

2 A.MGR=B.EMPNO;

EMPLOYEE MANAGER_SALARY

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

ASANT 5975

SMITH 5975

DRANK 9850

ALLEY 9850

ALLEN 9850

SCOTT 9900

BLAKE 9900

JONES 9900
8 rows selected.

SQL> SELECT ENAME,JOB,EMPNO,DNAME,LOC FROM EMP,DEPT WHERE EMP.DEPTNO=DEPT.DEPTNO

ENAME JOB EMPNO DNAME

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

LOC

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

SMITH CLERK 7369 DEVELOPMENT

MANUFACTURING UNIT

ASANT SALESMAN 7399 DEVELOPMENT

MANUFACTURING UNIT

ALLEN SALESMAN 7499 MAINTAINANCE

MAIN BLOCK

ENAME JOB EMPNO DNAME

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

LOC

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

JONES MANAGER 7566 DEVELOPMENT

MANUFACTURING UNIT
BLAKE MANAGER 7698 MAINTAINANCE

MAIN BLOCK

SCOTT HOD 7611 MANAGEMENT

MAIN BLOCK

ENAME JOB EMPNO DNAME

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

LOC

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

CLARK CEO 7839 MANAGEMENT

MAIN BLOCK

FORD SUPERVIS 7368 DEVELOPMENT

MANUFACTURING UNIT

ALLEY SALESMAN 7599 MAINTAINANCE

MAIN BLOCK

ENAME JOB EMPNO DNAME

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

LOC
--------------------

DRANK CLERCK 7421 MAINTAINANCE

MAIN BLOCK

10 rows selected.

SQL> SELECT A.EMPNO,A.ENAME AS EMPLOYEE,A.JOB,B.ENAME AS MANAGER FROM EMP A,EMP

B WHERE

2 A.MGR=B.EMPNO;

EMPNO EMPLOYEE JOB MANAGER

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

7399 ASANT SALESMAN JONES

7369 SMITH CLERK JONES

7421 DRANK CLERCK BLAKE

7599 ALLEY SALESMAN BLAKE

7499 ALLEN SALESMAN BLAKE

7611 SCOTT HOD CLARK

7698 BLAKE MANAGER CLARK

7566 JONES MANAGER CLARK

8 rows selected.

SQL> SELECT *FROM EMP;


EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7369 SMITH CLERK 7566 20

800 0 17-DEC-80

7399 ASANT SALESMAN 7566 20

1600 300 20-FEB-81

7499 ALLEN SALESMAN 7698 30

1600 300 20-FEB-81

EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7566 JONES MANAGER 7839 20

5975 1000 02-APR-81

7698 BLAKE MANAGER 7839 30

9850 1000 01-MAY-79


7611 SCOTT HOD 7839 10

3000 12-JUN-76

EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7839 CLARK CEO 10

9900 16-MAR-72

7368 FORD SUPERVIS 7366 20

800 0 17-DEC-80

7599 ALLEY SALESMAN 7698 30

1600 300 20-FEB-81

EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7421 DRANK CLERCK 7698 30

1250 500 22-JAN-82


10 rows selected.

SQL> SELECT ENAME,SAL FROM EMP WHERE SAL IN (SELECT SAL FROM EMP GROUP BY SAL HA

VING

2 COUNT(*)>1);

ENAME SAL

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

SMITH 800

ASANT 1600

ALLEN 1600

FORD 800

ALLEY 1600

SQL> SELECT *FROM EMP;

EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7369 SMITH CLERK 7566 20

800 0 17-DEC-80

7399 ASANT SALESMAN 7566 20


1600 300 20-FEB-81

7499 ALLEN SALESMAN 7698 30

1600 300 20-FEB-81

EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7566 JONES MANAGER 7839 20

5975 1000 02-APR-81

7698 BLAKE MANAGER 7839 30

9850 1000 01-MAY-79

7611 SCOTT HOD 7839 10

3000 12-JUN-76

EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7839 CLARK CEO 10


9900 16-MAR-72

7368 FORD SUPERVIS 7366 20

800 0 17-DEC-80

7599 ALLEY SALESMAN 7698 30

1600 300 20-FEB-81

EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7421 DRANK CLERCK 7698 30

1250 500 22-JAN-82

10 rows selected.

SQL> SELECT DEPTNO FROM DEPT UNION ALL SELECT DEPTNO FROM ACCDEPT;

DEPTNO

----------

10

20
30

40

50

10

20

30

8 rows selected.

SQL> SELECT DEPTNO FROM DEPT INTERSECT SELECT DEPTNO FROM ACCDEPT;

DEPTNO

----------

10

20

30

SQL> SELECT DEPTNO FROM DEPT MINUS SELECT DEPTNO FROM ACCDEPT;

DEPTNO

----------

40

50

SQL> CREATE VIEW MANAGERS AS SELECT * FROM EMP WHERE JOB='MANAGER';


View created.

SQL> SELECT * FROM MANAGERS;

EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7566 JONES MANAGER 7839 20

5975 1000 02-APR-81

7698 BLAKE MANAGER 7839 30

9850 1000 01-MAY-79

SQL>

ENAME JOB EMPNO DNAME

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

LOC

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

SMITH CLERK 7369 DEVELOPMENT

MANUFACTURING UNIT
ASANT SALESMAN 7399 DEVELOPMENT

MANUFACTURING UNIT

ALLEN SALESMAN 7499 MAINTAINANCE

MAIN BLOCK

ENAME JOB EMPNO DNAME

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

LOC

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

JONES MANAGER 7566 DEVELOPMENT

MANUFACTURING UNIT

BLAKE MANAGER 7698 MAINTAINANCE

MAIN BLOCK

SCOTT HOD 7611 MANAGEMENT

MAIN BLOCK

ENAME JOB EMPNO DNAME

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

LOC
--------------------

CLARK CEO 7839 MANAGEMENT

MAIN BLOCK

FORD SUPERVIS 7368 DEVELOPMENT

MANUFACTURING UNIT

ALLEY SALESMAN 7599 MAINTAINANCE

MAIN BLOCK

ENAME JOB EMPNO DNAME

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

LOC

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

DRANK CLERCK 7421 MAINTAINANCE

MAIN BLOCK

10 rows selected.

SQL> SELECT A.EMPNO,A.ENAME AS EMPLOYEE,A.JOB,B.ENAME AS MANAGER FROM EMP A,EMP

B WHERE

2 A.MGR=B.EMPNO;
EMPNO EMPLOYEE JOB MANAGER

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

7399 ASANT SALESMAN JONES

7369 SMITH CLERK JONES

7421 DRANK CLERCK BLAKE

7599 ALLEY SALESMAN BLAKE

7499 ALLEN SALESMAN BLAKE

7611 SCOTT HOD CLARK

7698 BLAKE MANAGER CLARK

7566 JONES MANAGER CLARK

8 rows selected.

SQL> SELECT *FROM EMP;

EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7369 SMITH CLERK 7566 20

800 0 17-DEC-80

7399 ASANT SALESMAN 7566 20

1600 300 20-FEB-81


7499 ALLEN SALESMAN 7698 30

1600 300 20-FEB-81

EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7566 JONES MANAGER 7839 20

5975 1000 02-APR-81

7698 BLAKE MANAGER 7839 30

9850 1000 01-MAY-79

7611 SCOTT HOD 7839 10

3000 12-JUN-76

EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7839 CLARK CEO 10

9900 16-MAR-72
7368 FORD SUPERVIS 7366 20

800 0 17-DEC-80

7599 ALLEY SALESMAN 7698 30

1600 300 20-FEB-81

EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7421 DRANK CLERCK 7698 30

1250 500 22-JAN-82

10 rows selected.

SQL> SELECT ENAME,SAL FROM EMP WHERE SAL IN (SELECT SAL FROM EMP GROUP BY SAL HA

VING

2 COUNT(*)>1);

ENAME SAL

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

SMITH 800

ASANT 1600
ALLEN 1600

FORD 800

ALLEY 1600

SQL> SELECT *FROM EMP;

EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7369 SMITH CLERK 7566 20

800 0 17-DEC-80

7399 ASANT SALESMAN 7566 20

1600 300 20-FEB-81

7499 ALLEN SALESMAN 7698 30

1600 300 20-FEB-81

EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7566 JONES MANAGER 7839 20


5975 1000 02-APR-81

7698 BLAKE MANAGER 7839 30

9850 1000 01-MAY-79

7611 SCOTT HOD 7839 10

3000 12-JUN-76

EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7839 CLARK CEO 10

9900 16-MAR-72

7368 FORD SUPERVIS 7366 20

800 0 17-DEC-80

7599 ALLEY SALESMAN 7698 30

1600 300 20-FEB-81

EMPNO ENAME JOB MGR DEPTNO

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


SAL COMMISSION DOB

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

7421 DRANK CLERCK 7698 30

1250 500 22-JAN-82

10 rows selected.

EXERCISE 5
SQL> SELECT DEPTNO FROM DEPT UNION ALL SELECT DEPTNO FROM ACCDEPT;

DEPTNO

----------

10

20

30

40

50

10

20

30

8 rows selected.

SQL> SELECT DEPTNO FROM DEPT INTERSECT SELECT DEPTNO FROM ACCDEPT;
DEPTNO

----------

10

20

30

SQL> SELECT DEPTNO FROM DEPT MINUS SELECT DEPTNO FROM ACCDEPT;

DEPTNO

----------

40

50

SQL> CREATE VIEW MANAGERS AS SELECT * FROM EMP WHERE JOB='MANAGER';

View created.

SQL> SELECT * FROM MANAGERS;

EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7566 JONES MANAGER 7839 20

5975 1000 02-APR-81


7698 BLAKE MANAGER 7839 30

9850 1000 01-MAY-79

SQL> CREATE VIEW GENERAL AS SELECT EMPNO,ENAME,EMP.DEPTNO,DNAME FROM EMP,DEPT WH

ERE

2 EMP.DEPTNO=DEPT.DEPTNO;

View created.

SQL> CREATE VIEW EMP_ALL AS SELECT E.EMPNO,E.EMPNAME,D.DEPTNO,D.DNAME FROM EMP E

, DEPT D

2 WHERE E.DEPTNO=D.DEPTNO AND E.JOB NOT IN('HOD','CEO');

CREATE VIEW EMP_ALL AS SELECT E.EMPNO,E.EMPNAME,D.DEPTNO,D.DNAME FROM EMP E, DEP

TD

ERROR at line 1:

ORA-00904: "E"."EMPNAME": invalid identifier

SQL> SELECT * FROM EMP_ALL;

SELECT * FROM EMP_ALL

ERROR at line 1:
ORA-00942: table or view does not exist

SQL> SELECT VIEW_NAME FROM USER_VIEWS;

VIEW_NAME

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

AQ$DEF$_AQCALL

AQ$DEF$_AQERROR

AQ$_DEF$_AQCALL_F

AQ$_DEF$_AQERROR_F

GENERAL

MANAGERS

MVIEW_EVALUATIONS

MVIEW_EXCEPTIONS

MVIEW_FILTER

MVIEW_FILTERINSTANCE

MVIEW_LOG

VIEW_NAME

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

MVIEW_RECOMMENDATIONS

MVIEW_WORKLOAD

PRODUCT_PRIVS
14 rows selected.

SQL> DROP VIEW ALLL;

DROP VIEW ALLL

ERROR at line 1:

ORA-00942: table or view does not exist

SQL> DROP VIEW ALLL;

DROP VIEW ALLL

ERROR at line 1:

ORA-00942: table or view does not exist

SQL> EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7369 SMITH CLERK 7566 20

800 0 17-DEC-80

7399 ASANT SALESMAN 7566 20

1600 300 20-FEB-81


7499 ALLEN SALESMAN 7698 30

1600 300 20-FEB-81

EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7566 JONES MANAGER 7839 20

5975 1000 02-APR-81

7698 BLAKE MANAGER 7839 30

9850 1000 01-MAY-79

7611 SCOTT HOD 7839 10

3000 12-JUN-76

EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7839 CLARK CEO 10

9900 16-MAR-72
7368 FORD SUPERVIS 7366 20

800 0 17-DEC-80

7599 ALLEY SALESMAN 7698 30

1600 300 20-FEB-81

EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7421 DRANK CLERCK 7698 30

1250 500 22-JAN-82

10 rows selected.

SQL> SELECT DEPTNO FROM DEPT UNION ALL SELECT DEPTNO FROM ACCDEPT;

DEPTNO

----------

10

20

30
40

50

10

20

30

8 rows selected.

SQL> SELECT DEPTNO FROM DEPT INTERSECT SELECT DEPTNO FROM ACCDEPT;

DEPTNO

----------

10

20

30

SQL> SELECT DEPTNO FROM DEPT MINUS SELECT DEPTNO FROM ACCDEPT;

DEPTNO

----------

40

50

SQL> CREATE VIEW MANAGERS AS SELECT * FROM EMP WHERE JOB='MANAGER';


View created.

SQL> SELECT * FROM MANAGERS;

EMPNO ENAME JOB MGR DEPTNO

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

SAL COMMISSION DOB

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

7566 JONES MANAGER 7839 20

5975 1000 02-APR-81

7698 BLAKE MANAGER 7839 30

9850 1000 01-MAY-79

SQL> CREATE VIEW GENERAL AS SELECT EMPNO,ENAME,EMP.DEPTNO,DNAME FROM EMP,DEPT WH

ERE

2 EMP.DEPTNO=DEPT.DEPTNO;

View created.

SQL> CREATE VIEW EMP_ALL AS SELECT E.EMPNO,E.EMPNAME,D.DEPTNO,D.DNAME FROM EMP E

, DEPT D

2 WHERE E.DEPTNO=D.DEPTNO AND E.JOB NOT IN('HOD','CEO');

CREATE VIEW EMP_ALL AS SELECT E.EMPNO,E.EMPNAME,D.DEPTNO,D.DNAME FROM EMP E, DEP


TD

ERROR at line 1:

ORA-00904: "E"."EMPNAME": invalid identifier

SQL> SELECT * FROM EMP_ALL;

SELECT * FROM EMP_ALL

ERROR at line 1:

ORA-00942: table or view does not exist

SQL> SELECT VIEW_NAME FROM USER_VIEWS;

VIEW_NAME

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

AQ$DEF$_AQCALL

AQ$DEF$_AQERROR

AQ$_DEF$_AQCALL_F

AQ$_DEF$_AQERROR_F

GENERAL

MANAGERS

MVIEW_EVALUATIONS

MVIEW_EXCEPTIONS
MVIEW_FILTER

MVIEW_FILTERINSTANCE

MVIEW_LOG

VIEW_NAME

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

MVIEW_RECOMMENDATIONS

MVIEW_WORKLOAD

PRODUCT_PRIVS

14 rows selected.

SQL> DROP VIEW ALLL;

DROP VIEW ALLL

ERROR at line 1:

ORA-00942: table or view does not exist

SQL> DROP VIEW ALLL;

DROP VIEW ALLL

ERROR at line 1:

ORA-00942: table or view does not exist


EXERCISE 6
SQL> declare

2 a number(10);

3 b number(10);

4 begin

5 a:=&a;

6 b:=&b;

7 dbms_output.put_line('THE PREV VALUES OF A AND B WERE');

8 dbms_output.put_line(a);

9 dbms_output.put_line(b);

10 a:=a+b;

11 b:=a-b;

12 a:=a-b;

13 dbms_output.put_line('THE VALUES OF A AND B ARE');

14 dbms_output.put_line(a);

15 dbms_output.put_line(b);

16 end;

17 /

Enter value for a: 6

old 5: a:=&a;

new 5: a:=6;

Enter value for b: 8

old 6: b:=&b;

new 6: b:=8;
PL/SQL procedure successfully completed.

SQL> declare

2 a number(10);

3 b number(10);

4 c number(10);

5 begin

6 a:=&a;

7 b:=&b;

8 dbms_output.put_line('THE PREV VALUES OF A AND B WERE');

9 dbms_output.put_line(a);

10 dbms_output.put_line(b);

11 c:=a;

12 a:=b;

13 b:=c;

14 dbms_output.put_line('THE VALUES OF A AND B ARE');

15 dbms_output.put_line(a);

16 dbms_output.put_line(b);

17 end;

18 /

Enter value for a: 9

old 6: a:=&a;

new 6: a:=9;

Enter value for b: 2

old 7: b:=&b;
new 7: b:=2;

PL/SQL procedure successfully completed.

SQL> dbms_output.put_line(a);

SP2-0734: unknown command beginning "dbms_outpu..." - rest of line ignored.

SQL> declare

2 a number;

3 b number;

4 begin

5 a:=&a;

6 b:=&b;

7 if a=b then

8 dbms_output.put_line('BOTH ARE EQUAL');

9 elsif a>b then

10 dbms_output.put_line('A IS GREATER');

11 else

12 dbms_output.put_line('B IS GREATER');

13 end if;

14 end;

15 /

Enter value for a: 87

old 5: a:=&a;

new 5: a:=87;

Enter value for b: 3+


old 6: b:=&b;

new 6: b:=3+;

b:=3+;

ERROR at line 6:

ORA-06550: line 6, column 6:

PLS-00103: Encountered the symbol ";" when expecting one of the following:

( - + case mod new null <an identifier>

<a double-quoted delimited-identifier> <a bind variable>

continue avg count current max min prior sql stddev sum

variance execute forall merge time timestamp interval date

<a string literal with character set specification>

<a number> <a single-quoted SQL string> pipe

<an alternatively-quoted string literal with character set specification>

<an alternatively-quoted SQL

SQL> declare

2 a number;

3 b number;

4 begin

5 a:=&a;

6 b:=&b;

7 if a=b then

8 dbms_output.put_line('BOTH ARE EQUAL');


9 elsif a>b then

10 dbms_output.put_line('A IS GREATER');

11 else

12 dbms_output.put_line('B IS GREATER');

13 end if;

14 end;

15 /

Enter value for a: 456

old 5: a:=&a;

new 5: a:=456;

Enter value for b: 54

old 6: b:=&b;

new 6: b:=54;

PL/SQL procedure successfully completed.

SQL> declare

2 a number;

3 b number;

4 begin

5 a:=&a;

6 b:=&b;

7 if a=b then

8 dbms_output.put_line('BOTH ARE EQUAL');

9 elsif a>b then


10 dbms_output.put_line('A IS GREATER');

11 else

12 dbms_output.put_line('B IS GREATER');

13 end if;

14 end;

15 /

Enter value for a: 4564

old 5: a:=&a;

new 5: a:=4564;

Enter value for b: 21

old 6: b:=&b;

new 6: b:=21;

PL/SQL procedure successfully completed.

SQL>MVIEW_RECOMMENDATIONS

MVIEW_WORKLOAD

PRODUCT_PRIVS

14 rows selected.

SQL> DROP VIEW ALLL;

DROP VIEW ALLL

ERROR at line 1:
ORA-00942: table or view does not exist

SQL> DROP VIEW ALLL;

DROP VIEW ALLL

ERROR at line 1:

ORA-00942: table or view does not exist

SQL> declare

2 a number(10);

3 b number(10);

4 begin

5 a:=&a;

6 b:=&b;

7 dbms_output.put_line('THE PREV VALUES OF A AND B WERE');

8 dbms_output.put_line(a);

9 dbms_output.put_line(b);

10 a:=a+b;

11 b:=a-b;

12 a:=a-b;

13 dbms_output.put_line('THE VALUES OF A AND B ARE');

14 dbms_output.put_line(a);

15 dbms_output.put_line(b);
16 end;

17 /

Enter value for a: 6

old 5: a:=&a;

new 5: a:=6;

Enter value for b: 8

old 6: b:=&b;

new 6: b:=8;

PL/SQL procedure successfully completed.

SQL> declare

2 a number(10);

3 b number(10);

4 c number(10);

5 begin

6 a:=&a;

7 b:=&b;

8 dbms_output.put_line('THE PREV VALUES OF A AND B WERE');

9 dbms_output.put_line(a);

10 dbms_output.put_line(b);

11 c:=a;

12 a:=b;

13 b:=c;

14 dbms_output.put_line('THE VALUES OF A AND B ARE');


15 dbms_output.put_line(a);

16 dbms_output.put_line(b);

17 end;

18 /

Enter value for a: 9

old 6: a:=&a;

new 6: a:=9;

Enter value for b: 2

old 7: b:=&b;

new 7: b:=2;

PL/SQL procedure successfully completed.

SQL> dbms_output.put_line(a);

SP2-0734: unknown command beginning "dbms_outpu..." - rest of line ignored.

SQL> declare

2 a number;

3 b number;

4 begin

5 a:=&a;

6 b:=&b;

7 if a=b then

8 dbms_output.put_line('BOTH ARE EQUAL');

9 elsif a>b then

10 dbms_output.put_line('A IS GREATER');
11 else

12 dbms_output.put_line('B IS GREATER');

13 end if;

14 end;

15 /

Enter value for a: 87

old 5: a:=&a;

new 5: a:=87;

Enter value for b: 3+

old 6: b:=&b;

new 6: b:=3+;

b:=3+;

ERROR at line 6:

ORA-06550: line 6, column 6:

PLS-00103: Encountered the symbol ";" when expecting one of the following:

( - + case mod new null <an identifier>

<a double-quoted delimited-identifier> <a bind variable>

continue avg count current max min prior sql stddev sum

variance execute forall merge time timestamp interval date

<a string literal with character set specification>

<a number> <a single-quoted SQL string> pipe

<an alternatively-quoted string literal with character set specification>

<an alternatively-quoted SQL


SQL> declare

2 a number;

3 b number;

4 begin

5 a:=&a;

6 b:=&b;

7 if a=b then

8 dbms_output.put_line('BOTH ARE EQUAL');

9 elsif a>b then

10 dbms_output.put_line('A IS GREATER');

11 else

12 dbms_output.put_line('B IS GREATER');

13 end if;

14 end;

15 /

Enter value for a: 456

old 5: a:=&a;

new 5: a:=456;

Enter value for b: 54

old 6: b:=&b;

new 6: b:=54;

PL/SQL procedure successfully completed.


SQL> declare

2 a number;

3 b number;

4 begin

5 a:=&a;

6 b:=&b;

7 if a=b then

8 dbms_output.put_line('BOTH ARE EQUAL');

9 elsif a>b then

10 dbms_output.put_line('A IS GREATER');

11 else

12 dbms_output.put_line('B IS GREATER');

13 end if;

14 end;

15 /

Enter value for a: 4564

old 5: a:=&a;

new 5: a:=4564;

Enter value for b: 21

old 6: b:=&b;

new 6: b:=21;

PL/SQL procedure successfully completed.

SQL> declare
2 java number(10);

3 dbmsnumber(10);

4 co number(10);

5 se number(10); es

6 number(10); ppl

7 number(10); total

8 number(10); avgs

9 number(10); per

10 number(10);

11 dbms_output.put_line('ENTER THE MARKS');

12 begin

13 java:=&java;

14 dbms:=&dbms;

15 co:=&co;

16 se:=&se;

17 es:=&es;

18 ppl:=&ppl;

19 total:=(java+dbms+co+se+es+ppl);

20 per:=(total/600)*100;

21 if java<40 or dbms<40 or co<40 or se<40 or es<40 or ppl<40 then

22 dbms_output.put_line('FAIL');

23 elsif per>75 then

24 dbms_output.put_line('GRADE A');

25 elsif per>65 and per<75 then

26 dbms_output.put_line('GRADE B');
27 elsif per>55 and per<65 then

28 dbms_output.put_line('GRADE C');

29 else

30 dbms_output.put_line('INVALID INPUT');

31 end if;

32 dbms_output.put_line('PERCENTAGE IS '||per);

33 dbms_output.put_line('TOTAL IS '||total);

34 end;

35 /

Enter value for java: 45

old 13: java:=&java;

new 13: java:=45;

Enter value for dbms: 12

old 14: dbms:=&dbms;

new 14: dbms:=12;

Enter value for co: 45

old 15: co:=&co;

new 15: co:=45;

Enter value for se: 55

old 16: se:=&se;

new 16: se:=55;

Enter value for es: 22

old 17: es:=&es;

new 17: es:=22;

Enter value for ppl: 11


old 18: ppl:=&ppl;

new 18: ppl:=11;

dbmsnumber(10);

ERROR at line 3:

ORA-06550: line 3, column 11:

PLS-00103: Encountered the symbol "(" when expecting one of the following:

constant exception <an identifier>

<a double-quoted delimited-identifier> table long double ref

char time timestamp interval date binary national character

nchar

The symbol "<an identifier>" was substituted for "(" to continue.

ORA-06550: line 11, column 12:

PLS-00103: Encountered the symbol "." when expecting one of the following:

constant exception <an identifier>

<a double-quoted delimited-identifier> table long double ref

char time timestamp interval date binary national charac

SQL> declare

2 java number(10);

3 dbmsnumber(10);

4 co number(10);

5 se number(10); es

6 number(10); ppl
7 number(10); total

8 number(10); avgs

9 number(10); per

10 number(10);

11 dbms_output.put_line('ENTER THE MARKS');

12 begin

13 java:=&java;

14 dbms:=&dbms;

15 co:=&co;

16 se:=&se;

17 es:=&es;

18 ppl:=&ppl;

19 total:=(java+dbms+co+se+es+ppl);

20 per:=(total/600)*100;

21 if java<40 or dbms<40 or co<40 or se<40 or es<40 or ppl<40 then

22 dbms_output.put_line('FAIL');

23 elsif per>75 then

24 dbms_output.put_line('GRADE A');

25 elsif per>65 and per<75 then

26 dbms_output.put_line('GRADE B');

27 elsif per>55 and per<65 then

28 dbms_output.put_line('GRADE C');

29 else

30 dbms_output.put_line('INVALID INPUT');

31 end if;
32 dbms_output.put_line('PERCENTAGE IS '||per);

33 dbms_output.put_line('TOTAL IS '||total);

34 end;

35 /

Enter value for java: 1

old 13: java:=&java;

new 13: java:=1;

Enter value for dbms: 2

old 14: dbms:=&dbms;

new 14: dbms:=2;

Enter value for co: 3

old 15: co:=&co;

new 15: co:=3;

Enter value for se: 4

old 16: se:=&se;

new 16: se:=4;

Enter value for es: 5

old 17: es:=&es;

new 17: es:=5;

Enter value for ppl: 6

old 18: ppl:=&ppl;

new 18: ppl:=6;

dbmsnumber(10);

ERROR at line 3:
ORA-06550: line 3, column 11:

PLS-00103: Encountered the symbol "(" when expecting one of the following:

constant exception <an identifier>

<a double-quoted delimited-identifier> table long double ref

char time timestamp interval date binary national character

nchar

The symbol "<an identifier>" was substituted for "(" to continue.

ORA-06550: line 11, column 12:

PLS-00103: Encountered the symbol "." when expecting one of the following:

constant exception <an identifier>

<a double-quoted delimited-identifier> table long double ref

char time timestamp interval date binary national charac

SQL><an alternatively-quoted SQL

SQL> declare

2 a number;

3 b number;

4 begin

5 a:=&a;

6 b:=&b;

7 if a=b then

8 dbms_output.put_line('BOTH ARE EQUAL');


9 elsif a>b then

10 dbms_output.put_line('A IS GREATER');

11 else

12 dbms_output.put_line('B IS GREATER');

13 end if;

14 end;

15 /

Enter value for a: 456

old 5: a:=&a;

new 5: a:=456;

Enter value for b: 54

old 6: b:=&b;

new 6: b:=54;

PL/SQL procedure successfully completed.

SQL> declare

2 a number;

3 b number;

4 begin

5 a:=&a;

6 b:=&b;

7 if a=b then

8 dbms_output.put_line('BOTH ARE EQUAL');

9 elsif a>b then


10 dbms_output.put_line('A IS GREATER');

11 else

12 dbms_output.put_line('B IS GREATER');

13 end if;

14 end;

15 /

Enter value for a: 4564

old 5: a:=&a;

new 5: a:=4564;

Enter value for b: 21

old 6: b:=&b;

new 6: b:=21;

PL/SQL procedure successfully completed.

SQL> declare

2 java number(10);

3 dbmsnumber(10);

4 co number(10);

5 se number(10); es

6 number(10); ppl

7 number(10); total

8 number(10); avgs

9 number(10); per

10 number(10);
11 dbms_output.put_line('ENTER THE MARKS');

12 begin

13 java:=&java;

14 dbms:=&dbms;

15 co:=&co;

16 se:=&se;

17 es:=&es;

18 ppl:=&ppl;

19 total:=(java+dbms+co+se+es+ppl);

20 per:=(total/600)*100;

21 if java<40 or dbms<40 or co<40 or se<40 or es<40 or ppl<40 then

22 dbms_output.put_line('FAIL');

23 elsif per>75 then

24 dbms_output.put_line('GRADE A');

25 elsif per>65 and per<75 then

26 dbms_output.put_line('GRADE B');

27 elsif per>55 and per<65 then

28 dbms_output.put_line('GRADE C');

29 else

30 dbms_output.put_line('INVALID INPUT');

31 end if;

32 dbms_output.put_line('PERCENTAGE IS '||per);

33 dbms_output.put_line('TOTAL IS '||total);

34 end;

35 /
Enter value for java: 45

old 13: java:=&java;

new 13: java:=45;

Enter value for dbms: 12

old 14: dbms:=&dbms;

new 14: dbms:=12;

Enter value for co: 45

old 15: co:=&co;

new 15: co:=45;

Enter value for se: 55

old 16: se:=&se;

new 16: se:=55;

Enter value for es: 22

old 17: es:=&es;

new 17: es:=22;

Enter value for ppl: 11

old 18: ppl:=&ppl;

new 18: ppl:=11;

dbmsnumber(10);

ERROR at line 3:

ORA-06550: line 3, column 11:

PLS-00103: Encountered the symbol "(" when expecting one of the following:

constant exception <an identifier>

<a double-quoted delimited-identifier> table long double ref


char time timestamp interval date binary national character

nchar

The symbol "<an identifier>" was substituted for "(" to continue.

ORA-06550: line 11, column 12:

PLS-00103: Encountered the symbol "." when expecting one of the following:

constant exception <an identifier>

<a double-quoted delimited-identifier> table long double ref

char time timestamp interval date binary national charac

SQL> declare

2 java number(10);

3 dbmsnumber(10);

4 co number(10);

5 se number(10); es

6 number(10); ppl

7 number(10); total

8 number(10); avgs

9 number(10); per

10 number(10);

11 dbms_output.put_line('ENTER THE MARKS');

12 begin

13 java:=&java;

14 dbms:=&dbms;

15 co:=&co;
16 se:=&se;

17 es:=&es;

18 ppl:=&ppl;

19 total:=(java+dbms+co+se+es+ppl);

20 per:=(total/600)*100;

21 if java<40 or dbms<40 or co<40 or se<40 or es<40 or ppl<40 then

22 dbms_output.put_line('FAIL');

23 elsif per>75 then

24 dbms_output.put_line('GRADE A');

25 elsif per>65 and per<75 then

26 dbms_output.put_line('GRADE B');

27 elsif per>55 and per<65 then

28 dbms_output.put_line('GRADE C');

29 else

30 dbms_output.put_line('INVALID INPUT');

31 end if;

32 dbms_output.put_line('PERCENTAGE IS '||per);

33 dbms_output.put_line('TOTAL IS '||total);

34 end;

35 /

Enter value for java: 1

old 13: java:=&java;

new 13: java:=1;

Enter value for dbms: 2

old 14: dbms:=&dbms;


new 14: dbms:=2;

Enter value for co: 3

old 15: co:=&co;

new 15: co:=3;

Enter value for se: 4

old 16: se:=&se;

new 16: se:=4;

Enter value for es: 5

old 17: es:=&es;

new 17: es:=5;

Enter value for ppl: 6

old 18: ppl:=&ppl;

new 18: ppl:=6;

dbmsnumber(10);

ERROR at line 3:

ORA-06550: line 3, column 11:

PLS-00103: Encountered the symbol "(" when expecting one of the following:

constant exception <an identifier>

<a double-quoted delimited-identifier> table long double ref

char time timestamp interval date binary national character

nchar

The symbol "<an identifier>" was substituted for "(" to continue.

ORA-06550: line 11, column 12:

PLS-00103: Encountered the symbol "." when expecting one of the following:
constant exception <an identifier>

<a double-quoted delimited-identifier> table long double ref

char time timestamp interval date binary national charac

SQL> declare

2 a number;

3 d number:=0;

4 sum1 number:=0;

5 begin

6 a:=&a;

7 while a>0

8 loop

9 d:=mod(a,10);

10 sum1:=sum1+d;

11 a:=trunc(a/10);

12 end loop;

13 dbms_output.put_line('SUM = '|| sum1);

14 end;

15 /

Enter value for a: 99

old 6: a:=&a;

new 6: a:=99;

PL/SQL procedure successfully completed.


SQL> declare

2 a number;

3 d number:=0;

4 sum1 number:=0;

5 begin

6 a:=&a;

7 while a>0

8 loop

9 d:=mod(a,10);

10 sum1:=sum1+d;

11 a:=trunc(a/10);

12 end loop;

13 dbms_output.put_line('SUM = '|| sum1);

14 end;

15 /

Enter value for a: 5

old 6: a:=&a;

new 6: a:=5;

PL/SQL procedure successfully completed.

SQL> declare

2 a number;

3 rev number;
4 d number;

5 begin

6 a:=&a;

7 rev:=0;

8 while a>0

9 loop

10 d:=mod(a,10);

11 rev:=(rev*10)+d;

12 a:=trunc(a/10);

13 end loop;

14 dbms_output.put_line('REVERSE NUMBER = '|| rev);

15 end;

16 /

Enter value for a: 987

old 6: a:=&a;

new 6: a:=987;

PL/SQL procedure successfully completed.

SQL> set serveroutput on;

SQL> DECLARE

2 message varchar2(20):= 'Hello, World!';

3 BEGIN

4 dbms_output.put_line(message);

5 END;
6 /

Hello, World!

PL/SQL procedure successfully completed.

SQL> declare

2 a number;

3 c number:=0;

4 inumber;

5 begin

6 a:=&a;

7 for i in 1..a

8 loop

9 if mod(a,i)=0 then

10 c:=c+1;

11 end if;

12 end loop;

13 if c=2 then

14 dbms_output.put_line(a ||' is a prime number');

15 else

16 dbms_output.put_line(a ||' is not a prime number');

17 end if;

18 end;

19 /

Enter value for a: 44


old 6: a:=&a;

new 6: a:=44;

inumber;

ERROR at line 4:

ORA-06550: line 4, column 8:

PLS-00103: Encountered the symbol ";" when expecting one of the following:

constant exception <an identifier>

<a double-quoted delimited-identifier> table long double ref

char time timestamp interval date binary national character

nchar

SQL>

SQL*Plus: Release 11.2.0.1.0 Production on Tue Jul 14 19:14:33 2020

Copyright (c) 1982, 2010, Oracle. All rights reserved.

Enter user-name: SYSTEM

Enter password:

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> create table acct(name varchar2(10),cur_bal number(10),acctno number(6,2));

create table acct(name varchar2(10),cur_bal number(10),acctno number(6,2))

ERROR at line 1:

ORA-00955: name is already used by an existing object

SQL> select * from acct;

no rows selected

SQL> insert into stud values('asd',4324,4324);

insert into stud values('asd',4324,4324)

ERROR at line 1:

ORA-00942: table or view does not exist

SQL> PROBLEM 6.10:

SP2-0734: unknown command beginning "PROBLEM 6...." - rest of line ignored.

SQL> create table acct(name varchar2(10),cur_bal number(10),acctno number(6,2));

create table acct(name varchar2(10),cur_bal number(10),acctno number(6,2))

*
ERROR at line 1:

ORA-00955: name is already used by an existing object

SQL> insert into stud values('&sname',&rollno,&marks);

Enter value for sname: select * from acct;

Enter value for rollno: declare

Enter value for marks: mano number(5);

old 1: insert into stud values('&sname',&rollno,&marks)

new 1: insert into stud values('select * from acct;',declare,mano number(5);)

insert into stud values('select * from acct;',declare,mano number(5);)

ERROR at line 1:

ORA-00917: missing comma

SQL> mcbnumber(6,2);

SP2-0734: unknown command beginning "mcbnumber(..." - rest of line ignored.

SQL> minibal constant number(7,2):=1000.00;

SP2-0734: unknown command beginning "minibal co..." - rest of line ignored.

SQL> fine number(6,2):=100.00;

SP2-0734: unknown command beginning "fine numbe..." - rest of line ignored.

SQL> begin

2 mano:=&mano;

3 select cur_bal into mcb from acct where acctno=mano;


4 if mcb<minibal then

5 update acct set cur_bal=cur_bal-fine where acctno=mano;

6 end if;

7 end;

8 /

Enter value for mano:

old 2: mano:=&mano;

new 2: mano:=;

mano:=;

ERROR at line 2:

ORA-06550: line 2, column 7:

PLS-00103: Encountered the symbol ";" when expecting one of the following:

( - + case mod new not null <an identifier>

<a double-quoted delimited-identifier> <a bind variable>

continue avg count current exists max min prior sql stddev

sum variance execute forall merge time timestamp interval

date <a string literal with character set specification>

<a number> <a single-quoted SQL string> pipe

<an alternatively-quoted string literal with character set specification>

<an alternatively

EXERCISE-7
SQL> create or replace procedure salary(deptid number) as

2 begin
3 update EMP set sal=sal+1000 where sal>5000 AND deptno=deptid;

4 end;

5 /

Procedure created.

SQL>

SQL> create or replace procedure salary1(EMPid number) as

2 begin

3 update EMP set sal=sal+sal*(0.1) where EMPno=EMPid;

4 end;

5 /

Procedure created.

SQL> create or replace procedure get_sal(dept number) as

2 begin

3 for s in (select * from EMP where deptno = dept)

4 loop

5 dbms_output.put_line(s.sal);

6 end loop;

7 end;

8 /

Procedure created.
SQL> create or replace procedure get_nature(dept number) as

2 begin

3 for s in (select * from EMP where deptno = dept)

4 loop

5 dbms_output.put_line(s.job);

6 end loop;

7 end;

8 /

Procedure created.

SQL> create or replace procedure dep_name(deptid number) as

2 begin

3 select dept.dname from dept,EMP where EMP.deptno=dept.deptno;

4 end;

5 /

Warning: Procedure created with compilation errors.

EXERCISE 8
SQL>CREATE [OR REPLACE] TRIGGER trig2 Afterdelete on DEPT FOR EACH ROW

2 BEGIN

3 DELETE FROM EMP WHERE EMP.deptno=:new.deptno;

4 END;

5/
Trigger created

SQL>CREATE TRIGGER trig3 AFTER DELETE ON EMP FOR EACH ROW

2 BEGIN

3 INSERT INTO log(val1, val2, ...) VALUES (old.val1, old.val2, ...);

4 END;

5/

Trigger created

SQL>CREATE TRIGGER trig3 AFTER DELETE ON EMP FOR EACH ROW

2 BEGIN

3 INSERT INTO log(val1, val2, ...) VALUES (old.val1, old.val2, ...);

4 END;

5/

Trigger created

You might also like