Cover | Table of Contents
Constant width[ ]{ }|_
sqlplus [[-S[ILENT]] [-H[ELP]] [-V[ERSION]]
[-R[ESTRICT] level] [-L[OGON]]
[-M[ARKUP] "markup_options"]
[ [username[/password][@connect]|/
[AS {SYSDBA|SYSOPER}]]
|/NOLOG]
[@scriptfile [arg1 arg2 arg3...]]]
Constant width[ ]{ }|_
sqlplus [[-S[ILENT]] [-H[ELP]] [-V[ERSION]]
[-R[ESTRICT] level] [-L[OGON]]
[-M[ARKUP] "markup_options"]
[ [username[/password][@connect]|/
[AS {SYSDBA|SYSOPER}]]
|/NOLOG]
[@scriptfile [arg1 arg2 arg3...]]]
SELECT column_list FROM table_list WHERE conditions GROUP BY column_list HAVING conditions ORDER BY column_list;
SELECT table_name, tablespace_name FROM user_tables;
SELECT table_name, tablespace_name FROM user_tables ORDER BY table_name;
ORDER BY table_name DESC;
SELECT table_name, tablespace_name
FROM user_tables
ORDER BY tablespace_name DESC,
table_name ASC;
SELECT table_name, tablespace_name FROM user_tables ORDER BY UPPER(table_name);
ALTER TABLE COURSE ADD ( course_hours NUMBER DEFAULT 4);
INSERT INTO COURSE (course_name, period, course_hours)
VALUES ('French I', 5, DEFAULT);
INSERT INTO COURSE
VALUES ('French I', 5, DEFAULT);
INSERT INTO COURSE (course_name, period)
SELECT DISTINCT course_name, period
FROM enrollment e
WHERE NOT EXISTS (
SELECT *
FROM course c
WHERE c.course_name = e.course_name
AND c.period = e.period
);
UPDATE table_name
SET column_name = new_value,
column_name = new_value,
column_name = new_value,
...
WHERE selection_criteria;
UPDATE course SET course_name = 'Spanish I' WHERE course_name = 'Spanish 1';
UPDATE enrollment
SET period = (
SELECT period
FROM course
WHERE course_name = 'English II'),
course_name = (
SELECT course_name
FROM course
WHERE course_name = 'English II'),
WHERE course_name = 'English II';
UPDATE enrollment e
SET period = (
SELECT MIN(period)
FROM course c
WHERE c.course_name = e.course_name);
DELETE FROM table_name WHERE selection_criteria
DELETE FROM course WHERE course_name = 'Spanish I' AND period = 6;
DELETE FROM course;
TRUNCATE TABLE course;
TRUNCATE TABLE course REUSE STORAGE;
DELETE FROM course WHERE ROWID NOT IN ( SELECT MIN(ROWID) FROM course GROUP BY course_name, period);
MERGE INTO table USING data_source ON (condition) WHEN MATCHED THEN update_clause WHEN NOT MATCHED THEN insert_clause;
MERGE INTO course c
USING (SELECT course_name, period,
course_hours
FROM course_updates) cu
ON (c.course_name = cu.course_name
AND c.period = cu.period)
WHEN MATCHED THEN
UPDATE
SET c.course_hours = cu.course_hours
WHEN NOT MATCHED THEN
INSERT (c.course_name, c.period,
c.course_hours)
VALUES (cu.course_name, cu.period,
cu.course_hours);
SQL> SELECT * FROM course; COURSE_NAME PERIOD COURSE_HOURS --------------- ---------- ------------ Spanish I 1 U.S. History 3 English II 4 French I 5 4 SQL> SELECT * FROM course_updates; COURSE_NAME PERIOD COURSE_HOURS --------------- ---------- ------------ Spanish I 1 3 U.S. History 3 3 English II 4 3 French I 5 3 Spelling 6 2 Geography 2 3 SQL>
SET TRANSACTION [attribute [,attribute...]
NAME 'transaction_name';
attribute :=
{READ {ONLY | WRITE}
| ISOLATION LEVEL {SERIALIZABLE | READ COMMITTED}
| USE ROLLBACK SEGMENT segment_name }
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE NAME 'Jonathan''s Transaction';
SET TRANSACTION USE ROLLBACK SEGMENT large_batch;
COLUMN employee_name HEADING "Employee Name"
Employee Name -------------
|) character to
specify the location of the line break. For example:
COLUMN employee_name HEADING "Employee|Name"
Employee Name ---------
COLUMN employee_name HEADING "Employee|Name" - JUSTIFY RIGHT COLUMN employee_name HEADING "Employee|Name" - JUSTIFY CENTER
SET LINESIZE 60
SQL> @c:\oracle\ora92\rdbms\admin\utlxplan
Table created.
Name Null? Type ------------------ -------- ---------------- STATEMENT_ID VARCHAR2(30) TIMESTAMP DATE REMARKS VARCHAR2(80) OPERATION VARCHAR2(30) OPTIONS VARCHAR2(255) OBJECT_NODE VARCHAR2(128) OBJECT_OWNER VARCHAR2(30) OBJECT_NAME VARCHAR2(30) OBJECT_INSTANCE NUMBER(38) OBJECT_TYPE VARCHAR2(30) OPTIMIZER VARCHAR2(255) SEARCH_COLUMNS NUMBER ID NUMBER(38) PARENT_ID NUMBER(38) POSITION NUMBER(38) COST NUMBER(38) CARDINALITY NUMBER(38) BYTES NUMBER(38) OTHER_TAG VARCHAR2(255) PARTITION_START VARCHAR2(255) PARTITION_STOP VARCHAR2(255) PARTITION_ID NUMBER(38) OTHER LONG DISTRIBUTION VARCHAR2(30) CPU_COST NUMBER(38) IO_COST NUMBER(38) TEMP_SPACE NUMBER(38) ACCESS_PREDICATES VARCHAR2(4000) FILTER_PREDICATES VARCHAR2(4000)
|
Format element
|
Function
|
|---|---|
|
9
|
Represents a digit in the output.
|
|
0
|
Marks the spot at which you want to begin displaying leading zeros.
|
|
$
|
Includes a leading dollar sign in the output.
|
|
,
|
Places a comma in the output.
|
|
.
|
Marks the location of the decimal point.
|
|
B
|
Forces zero values to be displayed as blanks.
|
|
C
|
Marks the place where you want the ISO currency indicator to appear.
For U.S. dollars, this is USD.
|
|
D
|
Marks the location of the decimal point.
|
|
DATE
|
Causes SQL*Plus to assume that the number represents a Julian date
and to display it in MM/DD/YY format.
|
|
EEEE
|
Causes SQL*Plus to use scientific notation to display a value. You
must use exactly four Es, and they must appear at the right end of
the format string.
|
|
G
|
Places a group separator (usually a comma) in the output.
|
|
L
|
Marks the place where you want the local currency indicator to
appear. For U.S. dollars, this is the dollar sign character.
|
|
MI
|
Adds a trailing negative sign to a number and may be used only at the
end of a format string.
|
|
PR
|
Causes negative values to be displayed within angle brackets. For
example, -123.99 is displayed as <123.99>.
|
|
RN
|
Allows you to display a number using Roman numerals. An uppercase RN
yields uppercase Roman numerals, while a lowercase r n yields
lowercase Roman numerals. Numbers displayed as Roman numerals must be
integers and must be between 1 and 3,999, inclusive.
|
|
S
|
Adds a + or - sign to the number and may be used
at either the beginning or end of a format string.
|
|
V
|
Displays scaled values. The number of digits to the right of the V
indicates how many places to the right the decimal point is shifted
before the number is displayed.
|
/* SQL*Plus script written 7-Jan-2000 by Jonathan Gennick. */
--Written 7-Jan-2000 by Jonathan Gennick
@$ORACLE_HOME/rdbms/admin/utlxplan @http://Gennick.com/message.sql 2
@@generate_emp_report @@generate_pay_history_report '101'
SQL> SELECT * FROM dual
2
SQL> /* SQL*Plus script written 7-Jan-2000 by Jonathan Gennick. */
--Written 7-Jan-2000 by Jonathan Gennick
@$ORACLE_HOME/rdbms/admin/utlxplan @http://Gennick.com/message.sql 2
@@generate_emp_report @@generate_pay_history_report '101'
SQL> SELECT * FROM dual 2 SQL> / D - X
ACCEPT user_password CHAR - PROMPT "Password: " HIDE ACCEPT id NUMBER FORMAT "999.99" ACCEPT report_date DATE - PROMPT "Date: " FORMAT "dd-mon-yyyy"
SQL> L 1* SELECT * SQL> a FROM dual 1* SELECT * FROM dual
ARCHIVE LOG LIST ARCHIVE LOG START ARCHIVE LOG ALL TO /m01/oradata
ATTRIBUTE employee_type.employee_salary - ALIAS emp_sal ATTRIBUTE emp_sal FORMAT "$999,999.99" ATTRIBUTE employee_type.employee_salary - FORMAT "$999,999.99"
BREAK ON ROW SKIP 1 BREAK ON dept BREAK ON dept SKIP PAGE
SQL> l 1* select dummy,smarty from duap SQL> c /duap/dual/ 1* select dummy,smarty from dual SQL> c /,smarty/ 1* select dummy from dual
CLEAR BREAKS CLEAR COMPUTES
COLUMN employee_name HEADING "Name" - FORMAT A20 WORD_WRAPPED COLUMN employee_hire_date - HEADING "Hire Date" - FORMAT A12 JUSTIFY RIGHT
BREAK ON project_id COMPUTE SUM LABEL "Totals" OF hours_logged - ON project_id BREAK ON project_id ON employee_id COMPUTE SUM OF hours_logged - ON project_id, employee_id