<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.zcubes.com/index.php?action=history&amp;feed=atom&amp;title=Yurttas%2FPL%2FDBL%2Foracle%2FF%2FR%2For-sql.html</id>
	<title>Yurttas/PL/DBL/oracle/F/R/or-sql.html - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.zcubes.com/index.php?action=history&amp;feed=atom&amp;title=Yurttas%2FPL%2FDBL%2Foracle%2FF%2FR%2For-sql.html"/>
	<link rel="alternate" type="text/html" href="http://wiki.zcubes.com/index.php?title=Yurttas/PL/DBL/oracle/F/R/or-sql.html&amp;action=history"/>
	<updated>2026-04-28T05:51:46Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.2</generator>
	<entry>
		<id>http://wiki.zcubes.com/index.php?title=Yurttas/PL/DBL/oracle/F/R/or-sql.html&amp;diff=82547&amp;oldid=prev</id>
		<title>MassBot1: Created page with &quot;=Oracle 7.3.2 SQL   ----=    This document highlights some of the differences between the SQL2 standard and the SQL dialect of Oracle 7.3.2. Please share with us any addition...&quot;</title>
		<link rel="alternate" type="text/html" href="http://wiki.zcubes.com/index.php?title=Yurttas/PL/DBL/oracle/F/R/or-sql.html&amp;diff=82547&amp;oldid=prev"/>
		<updated>2013-11-05T05:35:36Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;=Oracle 7.3.2 SQL   ----=    This document highlights some of the differences between the SQL2 standard and the SQL dialect of Oracle 7.3.2. Please share with us any addition...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=Oracle 7.3.2 SQL   ----=&lt;br /&gt;
&lt;br /&gt;
This document highlights some of the differences between the SQL2 standard and the SQL dialect of Oracle 7.3.2. Please share with us any additional differences that you may find.&lt;br /&gt;
&lt;br /&gt;
* [[yurttas/PL/DBL/oracle/F/R/#basic sql features|Basic SQL Features]]&lt;br /&gt;
* [[yurttas/PL/DBL/oracle/F/R/#data types|Data Types]]&lt;br /&gt;
* [[yurttas/PL/DBL/oracle/F/R/#indexes|Indexes]]&lt;br /&gt;
* [[yurttas/PL/DBL/oracle/F/R/#views|Views]]&lt;br /&gt;
* [[yurttas/PL/DBL/oracle/F/R/#constraints|Constraints]]&lt;br /&gt;
* [[yurttas/PL/DBL/oracle/F/R/#transactions|Transactions]]&lt;br /&gt;
* [[yurttas/PL/DBL/oracle/F/R/#timing sql commands|Timing SQL Commands]]&lt;br /&gt;
&lt;br /&gt;
===---- Basic SQL Features===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Oracle does not support &amp;lt;tt&amp;gt;AS&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;FROM&amp;lt;/tt&amp;gt; clauses, but you can still specify tuple variables without &amp;lt;tt&amp;gt;AS&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
     from Relation1 u, Relation2 v&lt;br /&gt;
&lt;br /&gt;
On the other hand, Oracle does support &amp;lt;tt&amp;gt;AS&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;SELECT&amp;lt;/tt&amp;gt; clauses, although the use of &amp;lt;tt&amp;gt;AS&amp;lt;/tt&amp;gt; is completely optional.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
The set-difference operator in Oracle is called &amp;lt;tt&amp;gt;MINUS&amp;lt;/tt&amp;gt; rather than &amp;lt;tt&amp;gt;EXCEPT&amp;lt;/tt&amp;gt;. There is no bag-difference operator corresponding to &amp;lt;tt&amp;gt;EXCEPT ALL&amp;lt;/tt&amp;gt;. The bag-intersection operator &amp;lt;tt&amp;gt;INTERSECT ALL&amp;lt;/tt&amp;gt; is not implemented either. However, the bag-union operator &amp;lt;tt&amp;gt;UNION ALL&amp;lt;/tt&amp;gt; ''is'' supported.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
In Oracle, you must always prefix an attribute reference with the table name whenever this attribute name appears in more than one table in the &amp;lt;tt&amp;gt;FROM&amp;lt;/tt&amp;gt; clause. For example, suppose that we have tables &amp;lt;tt&amp;gt;R(A,B)&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;S(B,C)&amp;lt;/tt&amp;gt;. The following query does not work in Oracle, even though &amp;lt;tt&amp;gt;B&amp;lt;/tt&amp;gt; is unambiguous because &amp;lt;tt&amp;gt;R.B&amp;lt;/tt&amp;gt; is equated to &amp;lt;tt&amp;gt;S.B&amp;lt;/tt&amp;gt; in the &amp;lt;tt&amp;gt;WHERE&amp;lt;/tt&amp;gt; clause:&lt;br /&gt;
&lt;br /&gt;
     select B from R, S where R.B = S.B;    /* ILLEGAL! */&lt;br /&gt;
&lt;br /&gt;
Instead, you should use:&lt;br /&gt;
&lt;br /&gt;
     select R.B from R, S where R.B = S.B;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
In Oracle, the negation logical operator (&amp;lt;tt&amp;gt;NOT&amp;lt;/tt&amp;gt;) should go in front of the boolean expression, not in front of the comparison operator. For example, &amp;quot;&amp;lt;tt&amp;gt;NOT A = ANY (&amp;amp;lt;subquery&amp;amp;gt;)&amp;lt;/tt&amp;gt;&amp;quot; is a valid &amp;lt;tt&amp;gt;WHERE&amp;lt;/tt&amp;gt; condition, but &amp;quot;&amp;lt;tt&amp;gt;A NOT = ANY (&amp;amp;lt;subquery&amp;amp;gt;)&amp;lt;/tt&amp;gt;&amp;quot; is not. (Note that &amp;quot;&amp;lt;tt&amp;gt;A &amp;amp;lt;&amp;amp;gt; ANY (&amp;amp;lt;subquery&amp;amp;gt;)&amp;lt;/tt&amp;gt;&amp;quot; is also a valid condition, but means something different.) There is one exception to this rule: You may use either &amp;quot;&amp;lt;tt&amp;gt;NOT A IN (&amp;amp;lt;subquery&amp;amp;gt;)&amp;lt;/tt&amp;gt;&amp;quot; or &amp;quot;&amp;lt;tt&amp;gt;A NOT IN (&amp;amp;lt;subquery&amp;amp;gt;)&amp;lt;/tt&amp;gt;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Oracle does not support &amp;lt;tt&amp;gt;JOIN&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;OUTER JOIN&amp;lt;/tt&amp;gt; expressions, either stand-alone or in &amp;lt;tt&amp;gt;FROM&amp;lt;/tt&amp;gt; clauses. Instead, outerjoins are supported by a special operator &amp;quot;&amp;lt;tt&amp;gt;(+)&amp;lt;/tt&amp;gt;&amp;quot; in &amp;lt;tt&amp;gt;WHERE&amp;lt;/tt&amp;gt; clauses. For example, suppose that we have relations R(A, B) and S(C, D). Then,&lt;br /&gt;
&lt;br /&gt;
     R full outer join S on R.B = S.C;&lt;br /&gt;
     R left outer join S on R.B = S.C;&lt;br /&gt;
     R right outer join S on R.B = S.C;&lt;br /&gt;
&lt;br /&gt;
can be rewritten as:&lt;br /&gt;
&lt;br /&gt;
     select * from R, S where R.B(+) = S.C(+);&lt;br /&gt;
     select * from R, S where R.B = S.C(+);&lt;br /&gt;
     select * from R, S where R.B(+) = S.C;&lt;br /&gt;
&lt;br /&gt;
respectively. Basically, &amp;quot;&amp;lt;tt&amp;gt;(+)&amp;lt;/tt&amp;gt;&amp;quot; next to a column means that this column can be padded with NULL's in the outerjoin result. You cannot outerjoin the same table to more than one other table in a single &amp;lt;tt&amp;gt;SELECT&amp;lt;/tt&amp;gt; statement.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Oracle does support subqueries in &amp;lt;tt&amp;gt;FROM&amp;lt;/tt&amp;gt; clauses as specified in the SQL2 standard.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Oracle &amp;lt;tt&amp;gt;ALTER TABLE&amp;lt;/tt&amp;gt; statement does not allow you to drop columns, although you can add columns.&lt;br /&gt;
&lt;br /&gt;
===---- Data Types===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;BIT&amp;lt;/tt&amp;gt; type is not supported. There is a &amp;lt;tt&amp;gt;BOOLEAN&amp;lt;/tt&amp;gt; type in PL/SQL (see [[yurttas/PL/DBL/oracle/F/R/or-plsql.html|Using Oracle PL/SQL]] for details), but it cannot be used for a database column.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Domains (''i.e.'', type aliases) are not supported.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Dates and times are supported differently in Oracle. For details, please refer to [[yurttas/PL/DBL/oracle/F/R/or-time.html|Oracle Dates and Times]], available from the class web page.&lt;br /&gt;
&lt;br /&gt;
===---- Indexes===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
To create an index in Oracle, use the standard SQL2 syntax:&lt;br /&gt;
&lt;br /&gt;
     create [unique] index &amp;amp;lt;index_name&amp;amp;gt; on &amp;amp;lt;table_name&amp;amp;gt;(&amp;amp;lt;list_of_attrs&amp;amp;gt;);&lt;br /&gt;
&lt;br /&gt;
In general, &amp;lt;tt&amp;gt;&amp;amp;lt;list_of_attrs&amp;amp;gt;&amp;lt;/tt&amp;gt; could contain more than one attribute. Such an index allows efficient retrieval of tuples with given values for &amp;lt;tt&amp;gt;&amp;amp;lt;list_of_attrs&amp;amp;gt;&amp;lt;/tt&amp;gt;. The optional keyword &amp;lt;tt&amp;gt;UNIQUE&amp;lt;/tt&amp;gt;, if specified, declares &amp;lt;tt&amp;gt;&amp;amp;lt;list_of_attrs&amp;amp;gt;&amp;lt;/tt&amp;gt; to be duplicate-free, which in effect makes &amp;lt;tt&amp;gt;&amp;amp;lt;list_of_attrs&amp;amp;gt;&amp;lt;/tt&amp;gt; a key of &amp;lt;tt&amp;gt;&amp;amp;lt;table_name&amp;amp;gt;&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To get rid of an index, again use the standard SQL2 syntax:&lt;br /&gt;
&lt;br /&gt;
     drop index &amp;amp;lt;index_name&amp;amp;gt;;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Oracle automatically creates an index for each &amp;lt;tt&amp;gt;UNIQUE&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;PRIMARY KEY&amp;lt;/tt&amp;gt; declaration. For example, if you create a table foo as follows:&lt;br /&gt;
&lt;br /&gt;
     create table foo (a int primary key,&lt;br /&gt;
                       b varchar(20) unique);&lt;br /&gt;
&lt;br /&gt;
Oracle will automatically create one index on &amp;lt;tt&amp;gt;foo.a&amp;lt;/tt&amp;gt; and another on &amp;lt;tt&amp;gt;foo.b&amp;lt;/tt&amp;gt;. Note that you cannot drop indexes for &amp;lt;tt&amp;gt;UNIQUE&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;PRIMARY KEY&amp;lt;/tt&amp;gt; attributes. These indexes are dropped automatically when you drop the table or the key constraints (see the section on [[yurttas/PL/DBL/oracle/F/R/#constraints|Constraints]]).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
To find out what indexes you have, use&lt;br /&gt;
&lt;br /&gt;
     select index_name from user_indexes;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;USER_INDEXES&amp;lt;/tt&amp;gt; is another system table just like &amp;lt;tt&amp;gt;USER_TABLES&amp;lt;/tt&amp;gt;. This can become especially helpful if you forget the names of your indexes and therefore cannot drop them. You might also see weird names of the indexes created by Oracle for &amp;lt;tt&amp;gt;UNIQUE&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;PRIMARY KEY&amp;lt;/tt&amp;gt; attributes, but you will not be able to drop these indexes.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
On the Stanford Oracle installation, there are two &amp;quot;tablespaces&amp;quot;, one for data, the other for indexes. Every time you create an index (either explicitly with &amp;lt;tt&amp;gt;CREATE INDEX&amp;lt;/tt&amp;gt; or implicitly with a &amp;lt;tt&amp;gt;UNIQUE&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;PRIMARY KEY&amp;lt;/tt&amp;gt; declaration), you should (on the Stanford Oracle) follow the declaration by &amp;lt;tt&amp;gt;TABLESPACE CSINDX&amp;lt;/tt&amp;gt;. In addition, if you are implicitly creating the index, you need the phrase &amp;lt;tt&amp;gt;USING INDEX&amp;lt;/tt&amp;gt; before &amp;lt;tt&amp;gt;TABLESPACE CSINDX&amp;lt;/tt&amp;gt;. For example:&lt;br /&gt;
&lt;br /&gt;
 create index RAindex on R(A) tablespace csindx;&lt;br /&gt;
&lt;br /&gt;
 create table foo (a int primary key using index tablespace csindx,&lt;br /&gt;
                   b varchar(20) unique using index tablespace csindx);&lt;br /&gt;
&lt;br /&gt;
===---- Views===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Oracle supports views as specified in SQL2. To find out what views you have created, use:&lt;br /&gt;
&lt;br /&gt;
     select view_name from user_views;&lt;br /&gt;
&lt;br /&gt;
===---- Constraints===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
To find out what constraints are defined in your database, use:&lt;br /&gt;
&lt;br /&gt;
     select constraint_name from user_constraints;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Oracle supports key constraints as specified in SQL2. For each table, there can be only one &amp;lt;tt&amp;gt;PRIMARY KEY&amp;lt;/tt&amp;gt; declaration, but many &amp;lt;tt&amp;gt;UNIQUE&amp;lt;/tt&amp;gt; declarations. Each &amp;lt;tt&amp;gt;PRIMARY KEY&amp;lt;/tt&amp;gt; (or &amp;lt;tt&amp;gt;UNIQUE&amp;lt;/tt&amp;gt;) declaration can have multiple attributes, which means that these attributes ''together'' form a primary key (or a key, respectively) of the table.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Oracle supports foreign key constraints, and allows an optional &amp;lt;tt&amp;gt;ON DELETE CASCADE&amp;lt;/tt&amp;gt; after a &amp;lt;tt&amp;gt;REFERENCES&amp;lt;/tt&amp;gt; clause in a table declaration. However, it does not allow &amp;lt;tt&amp;gt;ON UPDATE&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;SET NULL&amp;lt;/tt&amp;gt; options.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Oracle supports attribute- and tuple-based constraints, but does not allow &amp;lt;tt&amp;gt;CHECK&amp;lt;/tt&amp;gt; conditions to use subqueries. Thus, there is no way for an attribute- or tuple-based constraint to reference anything else besides the attribute or tuple that is being inserted or updated.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Domain constraints are not supported since domains are not supported.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
As for general constraints, &amp;lt;tt&amp;gt;ASSERTION&amp;lt;/tt&amp;gt; is not supported. However, a &amp;lt;tt&amp;gt;TRIGGER&amp;lt;/tt&amp;gt; close to the SQL3 trigger ''is'' supported. See [[yurttas/PL/DBL/oracle/F/R/or-plsql.html|Using Oracle PL/SQL]] for details.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
In the &amp;lt;tt&amp;gt;ALTER TABLE&amp;lt;/tt&amp;gt; statement, Oracle supports &amp;lt;tt&amp;gt;ADD&amp;lt;/tt&amp;gt;ing columns and table constraints, &amp;lt;tt&amp;gt;MODIFY&amp;lt;/tt&amp;gt;ing column properties and column constraints, and &amp;lt;tt&amp;gt;DROP&amp;lt;/tt&amp;gt;ping constraints. However, you cannot &amp;lt;tt&amp;gt;MODIFY&amp;lt;/tt&amp;gt; an attribute-based &amp;lt;tt&amp;gt;CHECK&amp;lt;/tt&amp;gt; constraint. Here are some examples:&lt;br /&gt;
&lt;br /&gt;
 create table bar (x int, y int, constraint XYcheck check (x &amp;amp;gt; y));&lt;br /&gt;
 alter table bar add (z int, w int);&lt;br /&gt;
 alter table bar add primary key (x);&lt;br /&gt;
 alter table bar add constraint YZunique unique (y, z);&lt;br /&gt;
 alter table bar modify (w varchar(2) default 'AM'&lt;br /&gt;
                                      constraint Wnotnull not null);&lt;br /&gt;
 alter table bar add check (w in ('AM', 'PM'));&lt;br /&gt;
 alter table bar drop constraint YZunique;&lt;br /&gt;
 alter table bar drop constraint XYcheck;&lt;br /&gt;
 alter table bar drop constraint Wnotnull;&lt;br /&gt;
 alter table bar drop primary key cascade;&lt;br /&gt;
&lt;br /&gt;
Dropping constraints generally requires knowing their names (only in the special case of primary or unique key constraints can you drop them without specifying their names). Thus, it is always a good idea to name all your constraints.&lt;br /&gt;
&lt;br /&gt;
===---- Transactions===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Oracle supports transactions as defined by the SQL2 standard. A transaction is a sequence of SQL statements that Oracle treats as a single unit of work. As soon as you connect to the database with &amp;lt;tt&amp;gt;sqlplus&amp;lt;/tt&amp;gt;, a transaction begins. Once the transaction begins, every SQL DML (Data Manipulation Language) statement you issue subsequently becomes a part of this transaction. A transaction ends when you disconnect from the database, or when you issue a &amp;lt;tt&amp;gt;COMMIT&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;ROLLBACK&amp;lt;/tt&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;COMMIT&amp;lt;/tt&amp;gt; makes permanent any database changes you made during the current transaction. Until you commit your changes, other users cannot see them. &amp;lt;tt&amp;gt;ROLLBACK&amp;lt;/tt&amp;gt; ends the current transaction and undoes any changes made since the transaction began.&lt;br /&gt;
&lt;br /&gt;
After the current transaction has ended with a &amp;lt;tt&amp;gt;COMMIT&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;ROLLBACK&amp;lt;/tt&amp;gt;, the first executable SQL statement that you subsequently issue will automatically begin another transaction.&lt;br /&gt;
&lt;br /&gt;
For example, the following SQL commands have the final effect of inserting into table &amp;lt;tt&amp;gt;R&amp;lt;/tt&amp;gt; the tuple (3, 4), but not (1, 2):&lt;br /&gt;
&lt;br /&gt;
 insert into R values (1, 2);&lt;br /&gt;
 rollback;&lt;br /&gt;
 insert into R values (3, 4);&lt;br /&gt;
 commit;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Oracle also supports the &amp;lt;tt&amp;gt;SAVEPOINT&amp;lt;/tt&amp;gt; command. The command &amp;lt;tt&amp;gt;SAVEPOINT &amp;amp;lt;sp_name&amp;amp;gt;&amp;lt;/tt&amp;gt; establishes a ''savepoint'' named &amp;lt;tt&amp;gt;&amp;amp;lt;sp_name&amp;amp;gt;&amp;lt;/tt&amp;gt; which marks the current point in the processing of a transaction. This savepoint can be used in conjunction with the command &amp;lt;tt&amp;gt;ROLLBACK TO &amp;amp;lt;sp_name&amp;amp;gt;&amp;lt;/tt&amp;gt; to undo parts of a transaction.&lt;br /&gt;
&lt;br /&gt;
For example, the following commands have the final effect of inserting into table &amp;lt;tt&amp;gt;R&amp;lt;/tt&amp;gt; tuples (5, 6) and (11, 12), but not (7, 8) or (9, 10):&lt;br /&gt;
&lt;br /&gt;
 insert into R values (5, 6);&lt;br /&gt;
 savepoint my_sp_1;&lt;br /&gt;
 insert into R values (7, 8);&lt;br /&gt;
 savepoint my_sp_2;&lt;br /&gt;
 insert into R values (9, 10);&lt;br /&gt;
 rollback to my_sp_1;&lt;br /&gt;
 insert into R values (11, 12);&lt;br /&gt;
 commit;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Oracle automatically issues an implicit &amp;lt;tt&amp;gt;COMMIT&amp;lt;/tt&amp;gt; before and after any SQL DDL (Data Definition Language) statement (even if this DDL statement fails) .&lt;br /&gt;
&lt;br /&gt;
===---- Timing SQL Commands===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Oracle provides a &amp;lt;tt&amp;gt;TIMING&amp;lt;/tt&amp;gt; command for measuring the running time of SQL commands. To activate this feature, type&lt;br /&gt;
&lt;br /&gt;
 set timing on;&lt;br /&gt;
&lt;br /&gt;
Then, Oracle will automatically display the elapsed wall-clock time for each SQL command you run subsequently. Note that timing data may be affected by external factors such as system load, ''etc''. To turn off timing, type&lt;br /&gt;
&lt;br /&gt;
 set timing off;&lt;br /&gt;
&lt;br /&gt;
You can also create and control multiple timers; type &amp;lt;tt&amp;gt;HELP TIMING&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;sqlplus&amp;lt;/tt&amp;gt; for details.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;-2&amp;quot;&amp;gt;This document is written originally for Prof. Jeff Ullman's CS145 class in Autumn, 1997; revised by Jun Yang for Prof. Jennifer Widom's CS145 class in Spring, 1998.&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>MassBot1</name></author>
	</entry>
</feed>