SQL Plus: Difference between revisions

Content deleted Content added
GreenC bot (talk | contribs)
m Rescued 2 archive links; remove 2 links. Wayback Medic 2.1
Link suggestions feature: 2 links added.
Tags: Visual edit Mobile edit Mobile web edit Newcomer task Suggested: add links
 
(27 intermediate revisions by 20 users not shown)
Line 1:
{{Lead too short|date=November 2022}}
'''SQL*Plus''' is the most basic [[Oracle Database]] utility, with a basic [[command-line interface]], commonly used by users, administrators, and programmers.
[[File:SqlPlus connected.png|thumb|command line]]
 
'''SQL Plus''' is the most basic [[Oracle Database]] utility, with a basic [[command-line interface]], commonly used by users, administrators, and programmers.
 
==Command types==
SQL* Plus understands five categories of text:<ref name="CommandRef">{{cite web | url=http://www.orafaq.com/faq/sqlplus | title=SQL* Plus at orafaq.com | accessdateaccess-date=2007-11-26 |archiveurlarchive-url = https://web.archive.org/web/20071109104758/http://www.orafaq.com/faq/sqlplus <!-- Bot retrieved archive --> |archivedatearchive-date = 2007-11-09}}</ref>
 
# SQL statements
# [[PL/SQL]] blocks
# SQL* Plus internal commands, for example:
#* environment control commands such as SET
#* environment monitoring commands such as SHOW
Line 14 ⟶ 17:
Scripts can include all of these components.
 
An Oracle programmer in the appropriately configured software environment can launch SQL* Plus, for example, by entering:
 
$ sqlplus scott/tiger
 
where the Oracle user <code>scott</code> has the password <code>tiger</code>. SQL* Plus then presents a prompt with the default form of:
 
SQL&gt;
Line 24 ⟶ 27:
Interactive use can then start by entering a SQL statement (terminated by a semicolon), a PL/SQL block, or another command. For example:
 
<sourcesyntaxhighlight lang="psql">
SQL> select 'Hello world' as example from dual;
 
Line 30 ⟶ 33:
--------------------------------
Hello world
</syntaxhighlight>
</source>
 
== History ==
 
The first version of SQL* Plus was called ''UFI'' ("User Friendly Interface"). UFI appeared in Oracle database releases up to Version 4.
 
After Oracle programmers had added new features to UFI, its name became ''Advanced UFI''. The name "Advanced UFI" changed to "SQL* Plus" with the release of the version 5 of Oracle.<ref>{{cite book |year=2004 |title=Oracle Insights |edition=1st |url=https://books.google.com/books?id=QE5UntUi-4oC&pg=PA35 |page=35| isbn = 978-1590593875|accessdateaccess-date=March 18, 2014|last1=Millsap |first1=Cary |last2=Kolk |first2=Anjo |last3=McDonald |first3=Connor |last4=Gorman |first4=Tim |last5=Hailey |first5=Kyle |last6=Ensor |first6=David |last7=Lewis |first7=Jonathan |last8=Vaidyanatha |first8=Gaja Krishna |last9=Ruthven |first9=David |last10=Morle |first10=James |publisher=Apress }}</ref>
 
==Usage==
 
Graphical interfaces from Oracle or third parties have diminished the proportion of [[Oracle Database|Oracle database]] end-users who depend on the SQL* Plus environment. Oracle shops typically continue to use SQL* Plus scripts for batch updating or simple reports.{{Citation needed|date=November 2008}}
 
[[Oracle Corporation]]'s wrappers/gui-fications/replacements for SQL* Plus include:
 
* Oracle SQL* Plus Worksheet, a component of [[Oracle Enterprise Manager|OEM]]<ref>{{cite web
|url = http://docs.cs.cf.ac.uk/html/601/node4.html
|title = The SQL* Plus Worksheet
|accessdateaccess-date = 2008-11-21
|author =
|last = Evans
|first = Robert
|authorlink =
|coauthors =
|date = 2008-10-01
|year =
|month =
|work =
|publisher = Cardiff University
|archive-url = https://web.archive.org/web/20081201065932/http://docs.cs.cf.ac.uk/html/601/node4.html
|___location =
|archive-date = 2008-12-01
|pages =
|quote = Oracle's SQL Plus Worksheet is a straight-forward, easy-to-use, graphical user interface for SQL.
|doi =
|url-status = dead
|archiveurl = https://web.archive.org/web/20081201065932/http://docs.cs.cf.ac.uk/html/601/node4.html
|archivedate = 2008-12-01
|quote = Oracle's SQL*Plus Worksheet is a straight-forward, easy-to-use, graphical user interface for SQL.
|deadurl = yes
|df =
}}
</ref>
* iSQL* Plus or iSQLPlus, a web-based utility<ref>{{cite web
| url = http://www.orafaq.com/wiki/ISQLPlus
| title = ISQLPlus
| accessdateaccess-date = 2008-11-21
| author =
| last =
| first =
| authorlink =
| coauthors =
| date = 2008-02-29
| year =
| month =
| work =
| publisher = Oracle FAQ
| quote = iSQLPlus (iSQL Plus) is a web-based utility similar to the SQL Plus command line utility for executing SQL and PL/SQL commands (available up to Oracle 10gR2).
| ___location =
| pages =
| language =
| doi =
| quote = iSQLPlus (iSQL*Plus) is a web-based utility similar to the SQL*Plus command line utility for executing SQL and PL/SQL commands (available up to Oracle 10gR2).
}}
</ref>
Line 92 ⟶ 73:
| url = http://www.oracle.com/technology/products/database/sql_developer/files/featurelist_1_5.htm#nf_sql
| title = Oracle SQL Developer 1.5: Feature List
| accessdateaccess-date = 2008-11-21
| author =
| last =
| first =
| authorlink =
| coauthors =
| date =
| year =
| month =
| work =
| publisher = Oracle Corporation
| archive-url = https://web.archive.org/web/20080724133233/http://www.oracle.com/technology/products/database/sql_developer/files/featurelist_1_5.htm#nf_sql
| ___location =
| archive-date = 2008-07-24
| pages =
| languageurl-status = dead
| quote = The SQL Plus commands supported by Oracle SQL Developer SQL Worksheet are listed [...]
| doi =
| archiveurl = https://web.archive.org/web/20080724133233/http://www.oracle.com/technology/products/database/sql_developer/files/featurelist_1_5.htm#nf_sql
| archivedate = 2008-07-24
| dead-url = yes
| quote = The SQL*Plus commands supported by Oracle SQL Developer SQL Worksheet are listed [...]
}}
</ref> a component of [[Oracle SQL Developer]]
Line 116 ⟶ 84:
| url = http://www.oracle.com/technology/products/database/application_express/html/what_is_apex.html
| title = Oracle Application Express
| accessdateaccess-date = 2008-11-21
| author =
| last =
| first =
| authorlink =
| coauthors =
| date =
| year =
| month =
| work =
| publisher = Oracle Corporation
| archive-url = https://web.archive.org/web/20061021062241/http://www.oracle.com/technology/products/database/application_express/html/what_is_apex.html
| ___location =
| archive-date = 2006-10-21
| pages =
| languageurl-status = dead
| doi =
| archiveurl = https://web.archive.org/web/20061021062241/http://www.oracle.com/technology/products/database/application_express/html/what_is_apex.html
| archivedate = 2006-10-21
| dead-url = yes
| quote = SQL Workshop provides tools to enable you to view and manage database objects from a Web browser. Use SQL Commands to run SQL and PL/SQL statements. ...
}}
Line 140 ⟶ 95:
=== Oracle 11g ===
Starting from Oracle database 11g, iSqlplus (web based) and sqlplus GUI no longer ship with Oracle database software.<ref>[http://download.oracle.com/docs/cd/B28359_01/install.111/b32006/whatsnew.htm#BGGBABGJ Deprecated Components in Oracle Database 11g Release 1 (11.1)], retrieve by 25-Jun-2009</ref>
The command-line SQL* Plus interface continues in use, mostly{{Citation needed|date=July 2009}} for non-interactive scripting or for administrative purposes. The Server Manager Command Line {{--}} a replacement of SQL*DBA {{--}} is obsolete and SQL*plus Plus 8i and later allows the user to issue statements like {{mono|STARTUP}} and {{mono|SHUTDOWN}} when connected as SYSDBA. Server Manager 7.1 introduced the command {{code|2=sql|CONNECT / AS SYSDBA}} to replace {{code|2=sql|CONNECT INTERNAL}}.<ref>[http://docs.oracle.com/cd/A57673_01/DOC/server/doc/SAD73/ch1.htm#selectmethod] Oracle 7 doc, 1994</ref> SQL*plus Plus 8i and later allows the use of CONNECT / AS SYSDBA
 
==Compatibility==
Other vendors have made their software somewhat compatible with SQL* Plus script commands or offer a SQL* Plus mode of operation. Relevant products include [[TOAD (software)|TOAD]] from [[Quest Software]].<ref>{{Cite book|url=http://www.informit.com/articles/article.aspx?p=31544&seqNum=17|title=TOAD SQL Editor|lastlast1=Hotka|firstfirst1=Dan|last2=Scalzo|first2=Bert|date=2003-04-18}}</ref>
 
== Integration ==
Line 150 ⟶ 105:
=== Variables ===
 
SQL* Plus-internal variables, accessible within an SQL* Plus session, include:
 
* user variables, displayable with the <code>DEFINE</code> command and referenceable with one or two cases of a prefixed character (default prefixes: '&' and '&&'). Oracle Corporation calls these variables "substitution variables". Programmers can use them anywhere in a SQL or PL/SQL statement or in SQL* Plus commands. They can be populated by a literal using <code>DEFINE</code> or from the database using the <code>column</code> command.
** predefined variables, prefixed with an underscore ('_')<ref>
{{cite book
|last= Alapati
|first= Sam R.
|authorlink=
|coauthors=
|editor=
|others=
|title= Expert Oracle Database 11g Administration
|url= https://books.google.com/books?id=tdRes4IdLiIC&dq
|access-date= 2009-07-29
|format=
|accessdate= 2009-07-29
|edition=
|series=
|volume=
|date=
|origyear=
|year= 2008
|month=
|publisher= Apress
|___location=
|isbn= 978-1-4302-1015-3
|oclc=
|doi=
|bibcode=
|id=
|pages= 118–119
|nopp=
|chapter= 4
|chapterurlchapter-url= https://books.google.com/books?id=tdRes4IdLiIC&pg=PA118&lpg=PA118&dqq=sqlplus+predefined+variable&sourcepg=bl&ots=7Qx008gycp&sig=PYHPGw7CVSsrKJwaXXLDR_ZtsLc&hl=en&ei=QcFvStL6NYPwsQOx48zNCA&sa=X&oi=book_result&ct=result&resnum=9PA118
|quote=
|ref=
|laysummary=
|laydate=
|separator=
|postscript=
|lastauthoramp=
}}
</ref>
Line 196 ⟶ 127:
|first = Natalka
|last = Roshak
|authorlink =
|title = Spice up your SQL Scripts with Variables
|url = http://www.orafaq.com/node/515
|work = Oracle FAQ
|publisher =
|___location =
|doi =
|date = 2005-11-06
|accessdateaccess-date = 2009-07-29
|quote = & and && indicate substitution variables in SQL* Plus scripts or commands.
}}
</ref>
Line 212 ⟶ 139:
|first = René
|last = Nyffenegger
|authortitle = Using bind variables in SQL Plus
|authorlink =
|coauthors =
|title = Using bind variables in SQL*Plus
|url = http://www.adp-gmbh.ch/ora/sqlplus/use_vars.html
|work = René Nyffenegger's collection of things on the web
|publisher access-date = 2009-07-29
|quote = In SQL Plus, a bind variable is declared with <code>variable</code> [...] The value of the bind variable can then be printed with <code>print</code>
|___location =
|doi =
|date =
|month =
|year =
|accessdate = 2009-07-29
|quote = In SQL*Plus, a bind variable is declared with <code>variable</code> [...] The value of the bind variable can then be printed with <code>print</code>
}}
</ref>
Line 233 ⟶ 151:
{{cite web
| url = https://docs.oracle.com/cd/B19306_01/server.102/b14357/ch12052.htm
| title = SQL* Plus User's Guide and Reference
| last1 = Watt
| first1 = Simon
Line 241 ⟶ 159:
| page = 74
| access-date = 2015-11-04
| quote = WHENEVER SQLERROR [...] [d]irects SQL* Plus to perform the specified action as soon as it detects a SQL command or PL/SQL block error (but after printing the error message).
}}
</ref>
Line 247 ⟶ 165:
{{cite web
| url = https://docs.oracle.com/cd/B19306_01/server.102/b14357/ch12051.htm
| title = SQL* Plus User's Guide and Reference
| last1 = Watt
| first1 = Simon
Line 255 ⟶ 173:
| page = 73
| access-date = 2015-11-04
| quote = WHENEVER OSERROR [...] [d]irects SQL* Plus to perform the specified action as soon as an operating system error is detected.
}}
</ref>
while running a subsequent SQL* Plus command.
 
=== Installation and configuration ===
SQL*Plus needs to be installed and configured on the machine where you intend to use it. This usually involves setting up Oracle client software and configuring network connections to Oracle databases.<ref>{{Cite web |title=Oracle database services and products offer customers cost-optimized and high-performance versions of Oracle Database, the world's leading converged, multi-model database management system |url=https://www.oracle.com/database/}}</ref>
 
== Supplementary software ==
* [http://www.softtree.com SQL Assistant] SQL Assistant add-on for SQL* Plus Windows version extends SQL* Plus with SQL automatic word completion, in-line Oracle SQL Reference, data export/import, code [[unit testing]], data browsing, and code development functions.
* [https://web.archive.org/web/20101128023958/http://utopia.knoware.nl/~hlub/uck/rlwrap/ rlwrap] rlwrap does [[GNU]] [[Readline]] like command completion for SQL* Plus on [[UNIX]] and [[Linux]].
 
== See also ==
* [[Oracle SQL Developer]]
* [[Oracle SQL/PLSQL Developer]]
* [[techaid71/most-common-sqlplus-commands]]
 
==References==
Line 271 ⟶ 194:
 
==External links==
* [http://download.oracle.com/docs/cd/B19306_01/server.102/b14357/toc.htm SQL* Plus documentation]
* [http://www.orafaq.com/wiki/SQL*Plus_FAQ Plus FAQ SQL* Plus FAQ]
* [http://www.sql-plus.com/ SQL* Plus tutorial]
 
{{Authority control}}