You are on page 1of 9

1 SQL*Plus Overview

This chapter introduces you to some general aspects of SQL*Plus. It has the following topics: What is SQL*Plus SQL*Plus Command-line and Windows GUI Architecture iSQL*Plus Architecture SQL*Plus Installation Who Can Use SQL*Plus How Can I Learn SQL*Plus How to Use the SQL*Plus Guide Oracle Database Sample Schemas and SQL*Plus

What is SQL*Plus
SQL*Plus is an interactive and batch query tool that is installed with every Oracle Database Server or Client installation. It has a command-line user interface, a Windows Graphical User Interface (GUI) and the iSQL*Plus web-based user interface. SQL*Plus has its own commands and environment, and it provides access to the Oracle Database. It enables you to enter and execute SQL, PL/SQL, SQL*Plus and operating system commands to perform the following: Format, perform calculations on, store, and print from query results Examine table and object definitions Develop and run batch scripts Perform database administration You can use SQL*Plus to generate reports interactively, to generate reports as batch processes, and to output the results to text file, to screen, or to HTML file for browsing on the Internet. You can generate reports dynamically using the HTML output facility of SQL*Plus, or using the dynamic reporting capability of iSQL*Plus to run a script from a web page.

SQL*Plus Command-line and Windows GUI Architecture


SQL*Plus command-line and the Windows GUI use a two-tier model comprising: Client (command-line user interface). Database (Oracle Database). The two tiers may or may not be on the same machine.

SQL*Plus Client
The command-line user interface is the character based terminal implementation. The Windows GUI is an alternate user interface available in Windows installations.

Oracle Database
Oracle Database Net components provide communication between the SQL*Plus Client and Oracle Database.

iSQL*Plus Architecture
iSQL*Plus is a browser-based interface which uses the SQL*Plus processing engine in a three-tier model comprising: Client (Web browser). Middle tier (Application Server). Database (Oracle Database).

Description of the illustration arch.gif The iSQL*Plus Server is installed on the same machine as the Application Server. The client may or may not also be on this machine. The middle tier coordinates interactions and resources between the client tier and the database tier. The database is Oracle8i, Oracle9i or Oracle Database 10g accessed through Oracle Net.

Web Browser
The iSQL*Plus user interface comprises web pages served to your web browser through the Internet or your intranet. There is no installation or configuration required for the iSQL*Plus user interface. You only need to know the URL of the Application Server to access an available Oracle database.

Application Server
The Application Server is installed when Oracle Database is installed. The middle tier contains a Java2 Enterprise Edition (J2EE) compliant application server. It uses Oracle Containers for Java (OC4J) as the server engine. The Application Server enables communication and authentication between the iSQL*Plus user interface and Oracle Database.

Oracle Database
Oracle Net components provide communication between the iSQL*Plus Application Server and Oracle Database in the same way as for a client server installation of Oracle Database.

SQL*Plus Installation
SQL*Plus is a component of Oracle Database. SQL*Plus, and its command-line user interface, Windows GUI, and iSQL*Plus web-based user interface are installed by default when you install the Oracle Database. Some aspects of Oracle Database and SQL*Plus differ from one computer and operating system to

another. These topics are discussed in the Oracle Database Installation Guide for each operating system that SQL*Plus supports. Keep a copy of your Oracle Database Installation Guide available for reference.

SQL*Plus Date Format


The default date format in SQL*Plus is determined by the database NLS_DATE_FORMAT parameter and may use a date format displaying two digit years. You can use the SQL TO_CHAR function, or the SQL*Plus COLUMN FORMAT command in your SELECT statements to control the way dates are displayed in your report.

Who Can Use SQL*Plus


The SQL*Plus, SQL, and PL/SQL command languages are powerful enough to serve the needs of users with some database experience, yet straightforward enough for new users who are just learning to work with the Oracle Database. The SQL*Plus language is easy to use. For example, to rename a column labelled LAST_NAME with the heading "Family Name", enter the command:
COLUMN LAST_NAME HEADING 'Family Name'

Similarly, to list column definitions for the EMPLOYEES table, enter the command:
DESCRIBE EMPLOYEES

How Can I Learn SQL*Plus


There are several sources available to assist you to learn SQL*Plus: Part II of this Guide, Using SQL*Plus Help for SQL*Plus, Command-line and iSQL*Plus online help Oracle Database 10g: SQL Fundamentals An instructor-led course run by Oracle. This is a comprehensive hands-on course taking the student through all aspects of using SQL*Plus and iSQL*Plus to access Oracle Database. More Oracle Database 10g Training To find more useful Oracle courses, go to http://www.oracle.com/education.

How to Use the SQL*Plus Guide


This guide provides information about SQL*Plus that applies to all operating systems. It also includes some Windows and UNIX specific information, for example, the Windows Graphical User Interface. Some aspects of SQL*Plus differ on each operating system. Such operating system specific details are covered in the Oracle Database Installation Guide provided for your system. Use these operating system specific guides in conjunction with this SQL*Plus User's Guide and Reference. Throughout this guide, examples showing how to enter commands use a common command syntax and a common set of sample tables. The tables are described in "Oracle Database Sample Schemas and SQL*Plus". The conventions used in command examples are described in "Conventions".

Oracle Database Sample Schemas and SQL*Plus


Sample schemas are included with Oracle Database. The tutorial and examples in this guide use the EMP_DETAILS_VIEW view of the Human Resources (HR) sample schema. This schema contains personnel records for a fictitious company. To view column details for the view, EMP_DETAILS_VIEW, enter
DESCRIBE EMP_DETAILS_VIEW

For more information about the sample schemas, see the Oracle Database Sample Schemas guide.

Unlocking the Sample Tables


The Human Resources (HR) Sample Schema is installed as part of the default Oracle Database installation. The HR account is locked by default. You need to unlock the HR account before you can use the HR sample schema. To unlock the HR account, log in as the SYSTEM user and enter the following command, where your_password is the password you want to define for the user HR:
ALTER USER HR IDENTIFIED BY your_password ACCOUNT UNLOCK;

For further information about unlocking the HR account, see the Oracle Database Sample Schemas guide. The HR user is primarily to enable you to access the HR sample schema and is necessary to enable you to run the examples in this guide. Each table in the database is "owned" by a particular user. You may wish to have your own copies of the sample tables to use as you try the examples in this guide. To get your own copies of the HR tables, see your DBA or see the Oracle Database Sample Schemas guide, or you can create the HR tables with the script HR_MAIN.SQL which is located in the following directory on UNIX:
$ORACLE_HOME/DEMO/SCHEMA/HUMAN_RESOURCES/HR_MAIN.SQL

And on the following directory on Windows:


%ORACLE_HOME%\DEMO\SCHEMA\HUMAN_RESOURCES\HR_MAIN.SQL

To create the HR tables from command-line SQL*Plus, do the following: 1. Ask your DBA for your Oracle Database account username and password. 2. Login to SQL*Plus. 3. On UNIX, enter the following command at the SQL*Plus prompt:
SQL> @?/DEMO/SCHEMA/HUMAN_RESOURCES/HR_MAIN.SQL

On Windows, enter the following command at the SQL*Plus prompt:


SQL> @?\DEMO\SCHEMA\HUMAN_RESOURCES\HR_MAIN.SQL

To remove the sample tables, perform the same steps but substitute HR_DROP.SQL for HR_MAIN.SQL.

1 SQL*Plus Overview
This chapter introduces you to SQL*Plus, covering the following topics: What is SQL*Plus SQL*Plus Installation Who Can Use SQL*Plus How Can I Learn SQL*Plus How to Use the SQL*Plus Guide Oracle9i Sample Tables and SQL*Plus

What is SQL*Plus
SQL*Plus is an interactive and batch query tool that is installed with every Oracle Server or Client installation. It has a command-line user interface, and more recently, a web-based user interface called iSQL*Plus. On Windows platforms, context menu options accessed through the right mouse button enable local files to be sent to the iSQL*Plus user interface. SQL*Plus has its own commands and environment, and it provides access to the Oracle RDBMS. It allows you to enter and execute SQL, PL/SQL, SQL*Plus and operating system commands to perform the following: enter SQL*Plus commands to configure the SQL*Plus environment enter, edit, store, retrieve, and run SQL commands and PL/SQL blocks format, perform calculations on, store, and print from query results interact with an end user startup and shutdown a database connect to a database define variables capture errors list column definitions for any table perform database administration

You can use SQL*Plus to generate reports interactively, to generate reports as batch processes, and to output the results to text file, to screen, or to HTML file for browsing on the Internet. You can generate reports dynamically using the HTML output facility of SQL*Plus in combination with server side CGI scripts, or using the dynamic reporting capability of iSQL*Plus to run a script from a web page. For example, to describe a database object using iSQL*Plus, enter

DESCRIBE EMP_DETAILS_VIEW

which produces the following output:

Text description of the illustration describe.gif To select the associated data from the database, enter

COLUMN FIRST_NAME HEADING "First Name" COLUMN LAST_NAME HEADING "Family Name" SELECT FIRST_NAME, LAST_NAME FROM EMP_DETAILS_VIEW WHERE LAST_NAME LIKE 'K%'

which produces the following output with renamed column headings.

Text description of the illustration selectou.gif

SQL*Plus Command-line Architecture


SQL*Plus uses a two-tier model comprising: Client Tier (Command-line user interface). Database Tier (Oracle9i). The two tiers may or may not be on the same machine. Command-line User Interface The command-line user interface is the character based terminal implementation. Oracle9i Oracle Net components provide communication between the SQL*Plus Client and Oracle9i.

iSQL*Plus Architecture
iSQL*Plus is a fast, browser-based interface which uses the SQL*Plus processing engine in a threetier model comprising: Client Tier (iSQL*Plus user interface, typically a web browser). Middle Tier (iSQL*Plus Server, Oracle Net, and Oracle HTTP Server). Database Tier (Oracle9i).

Text description of the illustration arch.gif The iSQL*Plus Server must be on the same machine as the Oracle HTTP Server. The client tier may or may not also be on this machine. The middle tier coordinates interactions and resources between the client tier and the database tier. The database tier is Oracle9i, which is accessed via Oracle Net. Web Browser The iSQL*Plus user interface runs in a web browser connected to the Internet or your intranet.

There is no installation or configuration required for the iSQL*Plus user interface. You only need to know the URL of the Oracle HTTP Server to access Oracle9i. iSQL*Plus Server The iSQL*Plus Server is installed with the Oracle HTTP Server when Oracle9i is installed. The middle tier contains the Oracle HTTP Server and the iSQL*Plus Server. The iSQL*Plus Server enables communication and authentication between the iSQL*Plus user interface and Oracle9i. Each iSQL*Plus session is uniquely identified, so you can have multiple concurrent sessions open to Oracle9i. Oracle9i Oracle Net components provide communication between the iSQL*Plus Server and Oracle9i in the same way as for a client server installation of Oracle9i.

SQL*Plus Installation
SQL*Plus is a component of the Oracle Database distribution. SQL*Plus, and its web-based user interface called iSQL*Plus, are installed by default when you install the Oracle Database. A few aspects of Oracle and SQL*Plus differ from one host computer and operating system to another. These topics are discussed in the Oracle installation and user's guide, published in a separate version for each operating system that SQL*Plus supports. Keep a copy of your Oracle installation and user's guide available for reference.

Who Can Use SQL*Plus


The SQL*Plus, SQL, and PL/SQL command languages are powerful enough to serve the needs of users with some database experience, yet straightforward enough for new users who are just learning to work with Oracle. The design of the SQL*Plus command language makes it easy to use. For example, to give a column labelled LAST_NAME in the database the clearer heading "Family Name", you might enter the following command:
COLUMN LAST_NAME HEADING 'Family Name'

Similarly, to list the column definitions for a table called EMPLOYEES, you might enter this command:
DESCRIBE EMPLOYEES

How Can I Learn SQL*Plus


There are several sources available to assist you to learn SQL*Plus: Online Help for SQL*Plus Command-line and iSQL*Plus online help Using SQL*Plus Section of this Guide Part II of this Guide, Chapters 5 through 12. SQLA Course for SQL*Plus

A course run by Oracle with the course code of SQLA. A three day hands on course.

How to Use the SQL*Plus Guide


This guide gives you information about SQL*Plus that applies to all operating systems. Some aspects of SQL*Plus, however, differ on each operating system. Such operating system specific details are covered in the Oracle installation and user's guide provided for your system. Use these operating system specific guides in conjunction with this SQL*Plus User's Guide and Reference. Throughout this guide, examples showing how to enter commands use a common command syntax and a common set of sample tables. The tables are described in "Oracle9i Sample Tables and SQL*Plus". You will find the "Conventions in Code Examples" particularly useful when referring to commands in this guide.

Oracle9i Sample Tables and SQL*Plus


Included with Oracle9i, are a number of sample schemas. The tutorial and examples in this guide use the EMP_DETAILS_VIEW view of the Human Resources (HR) sample schema. In using the HR sample schema you will come to understand the concepts and operations of this guide. This schema contains personnel records for a fictitious company. As you complete the exercises in this guide, imagine that you are the personnel director for this company. Dates in the sample tables use four digit years. As the default date format in SQL*Plus is DD-MMYY, dates displayed show only a two digit year. Use the SQL TO_CHAR function in your SELECT statements to control the way dates are displayed. For further information about the sample schemas included with Oracle9i, see the Oracle9i Sample Schemas guide. Figure 1-1 shows a description of the view, EMP_DETAILS_VIEW. Figure 1-1 EMP_DETAILS_VIEW
Name ----------------------------------------EMPLOYEE_ID JOB_ID MANAGER_ID DEPARTMENT_ID LOCATION_ID COUNTRY_ID FIRST_NAME LAST_NAME SALARY COMMISSION_PCT DEPARTMENT_NAME JOB_TITLE CITY STATE_PROVINCE COUNTRY_NAME REGION_NAME Null? -------NOT NULL NOT NULL Type ---------------------------NUMBER(6) VARCHAR2(10) NUMBER(6) NUMBER(4) NUMBER(4) CHAR(2) VARCHAR2(20) VARCHAR2(25) NUMBER(8,2) NUMBER(2,2) VARCHAR2(30) VARCHAR2(35) VARCHAR2(30) VARCHAR2(25) VARCHAR2(40) VARCHAR2(25)

NOT NULL NOT NULL NOT NULL NOT NULL

Unlocking the Sample Tables


The Human Resources (HR) Sample Schema is installed as part of the default Oracle9i installation. The HR user is locked by default.

You need to unlock the HR tables and user before you can use the HR sample schema. To unlock the HR tables and user, log in as the SYSTEM user and enter the following command:

ALTER USER HR IDENTIFIED BY your_password ACCOUNT UNLOCK;

For further information about unlocking the HR tables and login, see the Oracle9i Sample Schemas guide. The HR user is primarily to enable you to access the HR sample schema and is necessary to enable you to run the examples in this guide. Each table in the database is "owned" by a particular user. You may wish to have your own copies of the sample tables to use as you try the examples in this guide. To get your own copies of the HR tables, see your DBA or see the Oracle9i Sample Schemas guide, or you can create the HR tables with the script HR_MAIN.SQL which is located in the following subdirectory on UNIX:
$ORACLE_HOME/DEMO/SCHEMA/HUMAN_RESOURCES/HR_MAIN.SQL

And on the following subdirectory on Windows:


%ORACLE_HOME%\DEMO\SCHEMA\HUMAN_RESOURCES\HR_MAIN.SQL

To create the HR tables from command-line SQL*Plus, do the following: 1. Ask your DBA for your Oracle9i account username and password. 2. Login to SQL*Plus. 3. On UNIX, enter the following command at the SQL*Plus prompt:
SQL> @?/DEMO/SCHEMA/HUMAN_RESOURCES/HR_MAIN.SQL

On Windows, enter the following command at the SQL*Plus prompt:


SQL> @?\DEMO\SCHEMA\HUMAN_RESOURCES\HR_MAIN.SQL

To remove the sample tables, perform the same steps but substitute HR_DROP.SQL for HR_MAIN.SQL. For more information about the sample schemas, see the Oracle9i Sample Schemas guide.

You might also like