В этом учебном пособии вы узнаете, как использовать Oracle оператор CREATE SCHEMA с синтаксисом и примерами.
Описание
Оператор CREATE SCHEMA фактически не создает схему в Oracle. (Узнайте, как создать схему в Oracle.)
Оператор CREATE SCHEMA используется только для создания объектов (т.е. таблиц, представлений) в вашей схеме в одном SQL-предложении вместо того, чтобы запускать отдельные операторы CREATE TABLE и CREATE VIEW.
Если возникает ошибка при создании любого из объектов в операторе CREATE SCHEMA, база данных Oracle откатывает все операции создания (т.e. таблицы и представление) в операторе CREATE SCHEMA.
Синтаксис
Синтаксис оператора CREATE SCHEMA:
[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 (создание одной таблицы в схеме):
1 2 3 4 5 6 7 |
CREATE SCHEMA AUTHORIZATION samvel 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) ); |
В этом примере создается схема, называемая samvel. В этой новой схеме создается одна таблица, называемая products.
Вы также можете создать несколько таблиц с помощью оператора CREATE SCHEMA следующим образом:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
CREATE SCHEMA AUTHORIZATION samvel 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 следующим образом (пока вы пользователь samvel):
1 2 3 4 5 6 7 8 9 10 11 12 13 |
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) ); |