Oracle8i SQL Reference
Release 2 (8.1.6)

A76989-01

Library

Product

Contents

Index

Prev Up Next

SQL Statements (continued), 4 of 11


CREATE SCHEMA

Syntax


Purpose

To create multiple tables and views and perform multiple grants in a single transaction.

To execute a CREATE SCHEMA statement, Oracle executes each included statement. If all statements execute successfully, Oracle commits the transaction. If any statement results in an error, Oracle rolls back all the statements.


Note:

This statement does not actually create a schema. Oracle automatically creates a schema when you create a user (see "CREATE USER"). This statement lets you populate your schema with tables and views and grant privileges on those objects without having to issue multiple SQL statements in multiple transactions. 


Prerequisites

The CREATE SCHEMA statement can include CREATE TABLE, CREATE VIEW, and GRANT statements. To issue a CREATE SCHEMA statement, you must have the privileges necessary to issue the included statements.

Keyword and Parameters

schema 

is the name of the schema. The schema name must be the same as your Oracle username.  

create_table_statement 

is a CREATE TABLE statement to be issued as part of this CREATE SCHEMA statement. See "CREATE TABLE". Do not end this statement with a semicolon (or other terminator character). 

create_view_statement 

is a CREATE VIEW statement to be issued as part of this CREATE SCHEMA statement. See "CREATE VIEW". Do not end this statement with a semicolon (or other terminator character). 

grant_statement 

is a GRANT object_privileges statement to be issued as part of this CREATE SCHEMA statement. See "GRANT object_privileges". Do not end this statement with a semicolon (or other terminator character). 

The CREATE SCHEMA statement supports the syntax of these statements only as defined by standard SQL, rather than the complete syntax supported by Oracle.

The order in which you list the CREATE TABLE, CREATE VIEW, and GRANT statements is unimportant. The statements within a CREATE SCHEMA statement can reference existing objects or objects you create in other statements within the same CREATE SCHEMA statement.

Restriction: The syntax of the parallel_clause is allowed for a CREATE TABLE statement in CREATE SCHEMA, but parallelism is not used when creating the objects.

See also: The parallel_clause of "CREATE TABLE"

Example

The following statement creates a schema named BLAIR for the user BLAIR, creates the table SOX, creates the view RED_SOX, and grants SELECT privilege on the RED_SOX view to the user WAITES.

CREATE SCHEMA AUTHORIZATION blair 
   CREATE TABLE sox 
      (color VARCHAR2(10)  PRIMARY KEY, quantity NUMBER) 
   CREATE VIEW red_sox 
      AS SELECT color, quantity FROM sox WHERE color = 'RED' 
   GRANT select ON red_sox TO waites; 


Prev Up Next
Oracle
Copyright © 1999 Oracle Corporation.

All Rights Reserved.

Library

Product

Contents

Index