CREATE SCHEMA statement

Use the CREATE SCHEMA statement to issue a block of data definition language (DDL) and GRANT statements as a unit.

Use this statement with DB-Access.

Syntax

Read syntax diagramSkip visual syntax diagramCREATE SCHEMA AUTHORIZATIONuser CREATE TABLE Statement1CREATE VIEW Statement2GRANT Statement34CREATE INDEX Statement5CREATE SYNONYM Statement6CREATE TRIGGER Statement7CREATE SEQUENCE Statement8CREATE ROW TYPE Statement9CREATE OPAQUE TYPE Statement10CREATE DISTINCT TYPE Statement11CREATE CAST Statement12;
Element Description Restrictions Syntax
user User who owns the database objects that this statement creates If you have DBA privileges, you can specify the name of any user. Otherwise, you must have the Resource privilege, and you must specify your own user name. Owner name

Usage

The CREATE SCHEMA statement allows the DBA to specify an owner for all database objects that the CREATE SCHEMA statement creates. You cannot issue CREATE SCHEMA until you have created the database that stores the objects.

Users with the Resource privilege can create a schema for themselves. In this case, user must be the name of the person with the Resource privilege who is running the CREATE SCHEMA statement. Anyone with the DBA privilege can also create a schema for someone else. In this case, user can specify a user other than the person who is running the CREATE SCHEMA statement.

You can put CREATE and GRANT statements in any logical order, as the following example shows. Statements are considered part of the CREATE SCHEMA statement until a semicolon ( ; ) or an end-of-file symbol is reached.
CREATE SCHEMA AUTHORIZATION sarah
   CREATE TABLE mytable (mytime DATE, mytext TEXT)
   GRANT SELECT, UPDATE, DELETE ON mytable TO rick
   CREATE VIEW myview AS
      SELECT * FROM mytable WHERE mytime > '12/31/2004'
   CREATE INDEX idxtime ON mytable (mytime);