本Oracle教程解释了如何使用Oracle CREATE SCHEMA
语句的语法和示例。
CREATE SCHEMA
语句实际上并不在Oracle中创建一个模式。
CREATE SCHEMA
语句仅用于在您的模式中在单个SQL语句中创建对象(即:表,视图),而不必发出单独的CREATE TABLE
语句和CREATE VIEW
语句。
如果在CREATE SCHEMA
语句中创建任何对象时发生错误,则Oracle数据库将在CREATE SCHEMA
语句中回滚所有创建语句(如:表和视图)。
语法
CREATE SCHEMA
语句的语法是:
CREATE SCHEMA AUTHORIZATION schema_name
[create_table_statement]
[create_view_statement]
[grant_statement];
参数说明 -
- schema_name - 该模式的名称(与登录Oracle用户名是一样的)。
- create_table_statement - 可选的。这是一个有效的
CREATE TABLE
语句。 - create_view_statement - 可选的。这是一个有效的
CREATE VIEW
语句。 - grant_statement - 可选的。 这是一个有效的
GRANT
语句。
示例
以下是CREATE SCHEMA
语句(在模式中创建一个表):
CREATE SCHEMA AUTHORIZATION maxsu
CREATE TABLE products
( product_id number(10) not null,
product_name varchar2(50) not null,
category varchar2(50),
CONSTRAINT products_pk PRIMARY KEY (product_id)
);
这个create schema
语句创建一个名为maxsu
的模式。在这个新的模式中,它创建了一个名为products
的表。
还可以使用CREATE SCHEMA
语句创建多个表,如下所示:
CREATE SCHEMA AUTHORIZATION maxsu
CREATE TABLE products
( product_id number(10) not null,
product_name varchar2(50) not null,
category varchar2(50),
CONSTRAINT products_pk PRIMARY KEY (product_id)
)
CREATE TABLE suppliers
( supplier_id number(10) not null,
supplier_name varchar2(50) not null,
city varchar2(25),
CONSTRAINT suppliers_pk PRIMARY KEY (supplier_id)
);
这个CREATE SCHEMA
语句将创建两个表 - products
和suppliers
。 如果在创建这些表时发生错误,则不会创建表。
或者,可以使用2
个独立的CREATE TABLE
语句创建这两个表(如下所示)(登录maxsu
时):
CREATE TABLE products
( product_id number(10) not null,
product_name varchar2(50) not null,
category varchar2(50),
CONSTRAINT products_pk PRIMARY KEY (product_id)
);
CREATE TABLE suppliers
( supplier_id number(10) not null,
supplier_name varchar2(50) not null,
city varchar2(25),
CONSTRAINT suppliers_pk PRIMARY KEY (supplier_id)
);
上一篇:Oracle创建模式(Schema)下一篇:Oracle创建表