SQL*PLUS COMMANDS
These commands does not require statement terminator and
applicable to the sessions , those will be automatically cleared when session
was closed.
BREAK
This will be used to breakup the data depending on the grouping.
Syntax:
Break or bre [on
<column_name> on report]
COMPUTE
This will be used to perform group functions on the data.
Syntax:
Compute or comp [group_function
of column_name on breaking_column_name or
report]
TTITLE
This will give the top title for your report. You can on or off
the ttitle.
Syntax:
Ttitle or ttit [left |
center | right] title_name skip n other_characters
Ttitle or ttit [on or
off]
BTITLE
This will give the bottom title for your report. You can on or
off the btitle.
Syntax:
Btitle or btit [left |
center | right] title_name skip n other_characters
Btitle or btit
[on or off]
Ex:
SQL> bre on deptno skip 1 on
report
SQL> comp sum of sal on deptno
SQL> comp sum of sal on report
SQL> ttitle center 'EMPLOYEE
DETAILS' skip1 center '----------------'
SQL> btitle center '** THANKQ
**'
SQL> select * from emp order
by deptno;
Output:
EMPLOYEE DETAILS
-----------------------
EMPNO ENAME
JOB MGR HIREDATE
SAL COMM DEPTNO
----------
---------- --------- ------- -------------- -------- ---------- ----------
7782 CLARK MANAGER
7839 09-JUN-81 2450 10
7839 KING
PRESIDENT 17-NOV-81 5000
7934 MILLER CLERK 7782 23-JAN-82 1300
---------- **********
8750 sum
7369 SMITH
CLERK 7902 17-DEC-80 800 20
7876 ADAMS CLERK 7788 23-MAY-87 1100
7902 FORD
ANALYST 7566 03-DEC-81 3000
7788 SCOTT
ANALYST 7566 19-APR-87 3000
7566 JONES
MANAGER 7839 02-APR-81 2975
---------- **********
10875 sum
7499 ALLEN
SALESMAN 7698 20-FEB-81
1600 300 30
7698 BLAKE
MANAGER 7839 01-MAY-81 2850
7654 MARTIN SALESMAN 7698 28-SEP-81
1250 1400
7900 JAMES CLERK 7698 03-DEC-81
950
7844 TURNER SALESMAN 7698 08-SEP-81
1500 0
7521 WARD
SALESMAN 7698 22-FEB-81
1250 500
---------- **********
9400 sum
----------
sum
29025
** THANKQ **
CLEAR
This will clear the existing buffers or break or computations or
columns formatting.
Syntax:
Clear or cle buffer |
bre | comp | col;
Ex:
SQL> clear buffer
Buffer cleared
SQL> clear bre
Breaks cleared
SQL> clear comp
Computes cleared
SQL> clear col
Columns cleared
CHANGE
This will be used to replace any strings in SQL statements.
Syntax:
Change or c/old_string/new_string
If the old_string
repeats many times then new_string
replaces the first string only.
Ex:
SQL> select * from det;
select * from det
*
ERROR at line 1:
ORA-00942: table or view
does not exist
SQL> c/det/dept
1* select * from dept
SQL> /
DEPTNO
DNAME LOC
---------- ---------------- -----------
10 ACCOUNTING NEW
YORK
20 RESEARCH ALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
COLUMN
This will be used to increase or decrease the width of the table
columns.
Syntax:
Column or col <column_name> format <num_format|text_format>
Ex:
SQL> col deptno format 999
SQL> col dname format a10
SAVE
This will be used to save your current SQL statement as SQL
Script file.
Syntax:
Save or sav <file_name>.[extension]
replace or rep
If you want to save the filename with existing filename the you
have to use replace option.
By default it will take sql
as the extension.
Ex:
SQL> save ss
Created file ss.sql
SQL> save ss replace
Wrote
file ss.sql
EXECUTE
This will be used to execute stored subprograms or packaged
subprograms.
Syntax:
Execute or exec <subprogram_name>
Ex:
SQL> exec sample_proc
SPOOL
This will record the data when you spool on, upto when you say
spool off. By default it will give lst
as extension.
Syntax:
Spool on | off | out |
<file_name>.[Extension]
Ex:
SQL> spool on
SQL> select * from dept;
DEPTNO DNAME LOC
---------
-------------- ----------
10
ACCOUNTING NEW YORK
20
RESEARCH DALLAS
30
SALES CHICAGO
40
OPERATIONS BOSTON
SQL> spool off
SQL> ed on.lst
SQL> select * from dept;
DEPTNO DNAME LOC
---------
-------------- ----------
10
ACCOUNTING NEW YORK
20
RESEARCH DALLAS
30
SALES CHICAGO
40
OPERATIONS BOSTON
SQL> spool off
LIST
This will give the current SQL statement.
Syntax:
List or li [start_line_number] [end_line_number]
Ex:
SQL> select
2 *
3 from
4 dept;
SQL> list
1 select
2 *
3 from
4* dept
SQL> list 1
1* select
SQL> list 3
3* from
SQL> list 1 3
1 select
2 *
3* from
INPUT
This will insert the new line to the current SQL statement.
Syntax:
Input or in <string>
Ex:
SQL> select *
SQL> list
1* select *
SQL> input from dept
SQL> list
1
select *
2* from dept
APPEND
This will adds a new string to the existing string in the SQL statement without any
space.
Syntax:
Append or app <string>
Ex:
SQL> select *
SQL> list
1* select *
SQL> append from dept
1* select * from dept
SQL> list
1* select * from dept
DELETE
This will delete the current SQL statement lines.
Syntax:
Delete or del <start_line_number> [<end_line_number>]
Ex:
SQL> select
2 *
3
from
4
dept
5
where
6
deptno
7
>10;
SQL> list
1
select
2 *
3
from
4
dept
5
where
6
deptno
7* >10
SQL> del 1
SQL> list
1 *
2
from
3
dept
4
where
5
deptno
6* >10
SQL> del 2
SQL> list
1 *
2
dept
3
where
4
deptno
5* >10
SQL> del 2 4
SQL> list
1 *
2* >10
SQL> del
SQL> list
1 *
VARIABLE
This will be used to declare a variable.
Syntax:
Variable or var <variable_name> <variable_type>
Ex:
SQL> var dept_name varchar(15)
SQL> select dname into
dept_name from dept where deptno = 10;
PRINT
This will be used to print the output of the variables that will
be declared at SQL level.
Syntax:
Print <variable_name>
Ex:
SQL> print dept_name
DEPT_NAME
--------------
ACCOUNTING
START
This will be used to execute SQL scripts.
Syntax:
start <filename_name>.sql
Ex:
SQL> start ss.sql
SQL> @ss.sql -- this will execute sql script files only.
HOST
This will be used to interact with the OS level from SQL.
Syntax:
Host [operation]
Ex:
SQL> host
SQL> host dir
SHOW
Using this, you can see several commands that use the set
command and status.
Syntax:
Show all | <set_command>
Ex:
SQL> show all
appinfo is OFF and set
to "SQL*Plus"
arraysize 15
autocommit OFF
autoprint OFF
autorecovery OFF
autotrace OFF
blockterminator
"." (hex 2e)
btitle OFF and is the
first few characters of the next SELECT statement
cmdsep OFF
colsep " "
compatibility version
NATIVE
concat "."
(hex 2e)
copycommit 0
COPYTYPECHECK is ON
define "&"
(hex 26)
describe DEPTH 1 LINENUM
OFF INDENT ON
echo OFF
editfile
"afiedt.buf"
embedded OFF
escape OFF
FEEDBACK ON for 6 or more rows
flagger OFF
flush ON
SQL> sho verify
verify OFF
RUN
This will runs the command in the buffer.
Syntax:
Run | /
Ex:
SQL> run
SQL> /
STORE
This will save all the set command statuses in a file.
Syntax:
Store set
<filename>.[extension] [create] | [replace] | [append]
Ex:
SQL> store set
my_settings.scmd
Created file
my_settings.scmd
SQL> store set my_settings.cmd
replace
Wrote file
my_settings.cmd
SQL> store set my_settings.cmd
append
Appended file to
my_settings.cmd
FOLD_AFTER
This will fold the columns one after the other.
Syntax:
Column <column_name> fold_after [no_of_lines]
Ex:
SQL> col deptno fold_after 1
SQL> col dname fold_after 1
SQL> col loc fold_after 1
SQL> set heading off
SQL> select * from dept;
10
ACCOUNTING
NEW YORK
20
RESEARCH
DALLAS
30
SALES
CHICAGO
40
OPERATIONS
BOSTON
FOLD_BEFORE
This will fold the columns one before the other.
Syntax:
Column <column_name> fold_before [no_of_lines]
DEFINE
This will give the list of all the variables currently defined.
Syntax:
Define [variable_name]
Ex:
SQL> define
DEFINE _DATE = "16-MAY-07" (CHAR)
DEFINE
_CONNECT_IDENTIFIER = "oracle" (CHAR)
DEFINE _USER = "SCOTT" (CHAR)
DEFINE _PRIVILEGE = "" (CHAR)
DEFINE _SQLPLUS_RELEASE
= "1001000200" (CHAR)
DEFINE _EDITOR = "Notepad" (CHAR)
DEFINE _O_VERSION = "Oracle Database 10g Enterprise Edition Release
10.1.0.2.0 –
Production
With the Partitioning, OLAP and Data Mining
options" (CHAR)
DEFINE _O_RELEASE = "1001000200" (CHAR)
SET COMMANDS
These commands does not require statement terminator and
applicable to the sessions , those will be automatically cleared when session
was closed.
LINESIZE
This will be used to set the linesize. Default linesize is 80.
Syntax:
Set linesize <value>
Ex:
SQL> set linesize 100
PAGESIZE
This will be used to set the pagesize. Default pagesize is 14.
Syntax:
Set pagesize <value>
Ex:
SQL> set pagesize 30
DESCRIBE
This will be used to see the object’s structure.
Syntax:
Describe or desc <object_name>
Ex:
SQL> desc dept
Name
Null? Type
-----------------------------------------------------------------
---------------------
DEPTNO
NOT NULL NUMBER(2)
DNAME
VARCHAR2(14)
LOC VARCHAR2(13)
PAUSE
When the displayed data
contains hundreds or thousands of lines, when you select it then it will
automatically scrolls and displays the last page data. To prevent this you can
use this pause option. By using this it will display the data correspoinding to
the pagesize with a break which will continue by hitting the return key. By
default this will be off.
Syntax:
Set pause on | off
Ex:
SQL> set pause on
FEEDBACK
This will give the
information regarding howmany rows you selected the object. By default the
feedback message will be displayed, only when the object contains more than 5
rows.
Syntax:
Set feedback <value>
Ex:
SQL> set feedback 4
SQL> select * from dept;
DEPTNO DNAME
LOC
----------
-------------- -------------
10 ACCOUNTING
NEW YORK
20 RESEARCH
DALLAS
30 SALES
CHICAGO
40 OPERATIONS
BOSTON
4 rows selected.
HEADING
If you want to display data without headings, then you can
achieve with this. By default heading is on.
Syntax:
Set heading on | off
Ex:
SQL> set heading off
SQL> select * from dept;
10 ACCOUNTING
NEW YORK
20 RESEARCH
DALLAS
30 SALES CHICAGO
40 OPERATIONS
BOSTON
SERVEROUTPUT
This will be used to display the output of the PL/SQL programs.
By default this will be off.
Syntax:
Set serveroutput on |
off
Ex:
SQL> set serveroutput on
TIME
This will be used to display the time. By default this will be
off.
Syntax:
Set time on | off
Ex:
SQL> set time on
19:56:33 SQL>
TIMING
This will give the time taken to execute the current SQL statement. By default
this will be off.
Syntax:
Set timing on | off
Ex:
SQL> set timing on
SQL> select * from dept;
DEPTNO DNAME
LOC
----------
-------------- -------------
10 ACCOUNTING
NEW YORK
20 RESEARCH
DALLAS
30 SALES
CHICAGO
40 OPERATIONS
BOSTON
Elapsed: 00:00:00.06
SQLPROMPT
This will be used to change the SQL prompt.
Syntax:
Set sqlprompt <prompt>
Ex:
SQL> set sqlprompt 'ORACLE>'
ORACLE>
SQLCASE
This will be used to change the case of the SQL statements. By default
the case is mixed.
Syntax:
Set sqlcase upper |
mixed | lower
Ex:
SQL> set sqlcase upper
SQLTERMINATOR
This will be used to change the terminator of the SQL statements. By default
the terminator is ;.
Syntax:
Set sqlterminator <termination_character>
Ex:
SQL> set sqlterminator :
SQL> select * from dept:
DEFINE
By default if the &
character finds then it will treat as bind variable and ask for the input.
Suppose your want to treat it as a normal character while inserting data, then
you can prevent this by using the define option. By default this will be on
Syntax:
Set define on | off
Ex:
SQL>insert into dept
values(50,'R&D','HYD');
Enter value for d:
old 1: insert into dept
values(50,'R&D','HYD')
new 1: INSERT INTO DEPT VALUES(50,'R','HYD')
SQL> set define off
SQL>insert into dept
values(50,'R&D','HYD'); -- here it won’t ask for
value
NEWPAGE
This will shows how many blank lines will be left before the
report. By default it will leave one blank line.
Syntax:
Set newpage <value>
Ex:
SQL> set newpage 10
The zero value for
newpage does not produce zero blank lines instead it switches to a special
property which produces a top-of-form character (hex 13) just before the date
on each page. Most modern printers respond to this by moving immediately to the
top of the next page, where the priting of the report will begin.
HEADSEP
This allow you to indicate where you want to break a page title
or a column heading that runs longer than one line. The default heading
separator is vertical bar (|).
Syntax:
Set headsep <separation_char>
Ex:
SQL> select * from dept;
DEPTNO DNAME
LOC
----------
-------------- -------------
10 ACCOUNTING
NEW YORK
20 RESEARCH
DALLAS
30 SALES
CHICAGO
40 OPERATIONS BOSTON
SQL> set headsetp !
SQL> col dname heading
'DEPARTMENT ! NAME'
SQL> /
DEPARTMENT
DEPTNO NAME LOC
----------
----------------- ----------
10 ACCOUNTING
NEW YORK
20 RESEARCH
DALLAS
30 SALES
CHICAGO
40 OPERATIONS
BOSTON
ECHO
When using a bind variable, the SQL statement is maintained by echo. By default this is off.
Syntax:
Set echo on | off
VERIFY
When using a bind variable, the old and new statements will be
maintained by verify. By default this is on.
Syntax:
Set verify on | off
Ex:
SQL> select * from dept where
deptno = &dno;
Enter value for dno: 10
old 1: select * from dept where deptno =
&dno
new 1: select * from dept where deptno = 10
DEPTNO DNAME LOC
---------- ---------------- -----------
10 ACCOUNTING NEW
YORK
SQL> set verify off
SQL> select * from dept where
deptno = &dno;
Enter value for dno: 20
DEPTNO DNAME
LOC
---------- ------------- -----------
20 RESEARCH
DALLAS
PNO
This will give displays the page numbers. By default the value
would be zero.
Ex:
SQL> col hiredate new_value
xtoday noprint format a1 trunc
SQL> ttitle left xtoday right
'page' sql.pno
SQL> select * from emp where
deptno = 10;
09-JUN-81
page 1
EMPNO ENAME JOB MGR SAL
COMM DEPTNO
---------- ----------
--------------- --------- ----- ---------- ----------
7782 CLARK MANAGER
7839 2450 10
7839 KING
PRESIDENT 5000 10
7934 MILLER
CLERK 7782 1300 10
In the above noprint
tells SQLPLUS not to display this
column when it prints the results of the SQL statement. Dates that have been reformatted by TO_CHAR get a default width of
about 100 characters. By changing the format to a1 trunc, you minimize this
effect. NEW_VALUE inserts contents of the column retrieved by the SQL statement
into a variable called xtoday.