Sql Scholl
Распечатать страницу
Перейти на главную Карта сайта Отправить сообщение

Создание таблиц

Определение значений по умолчанию

     Язык SQL позволяет определять значения по умолчанию, которые будут использованы в том случае, если при добавлении строки какое-то ее значение не указано. Значения по умолчанию определяются с помощью ключевого слова DEFAULT в определениях столбца оператора CREATE TABLE.

     Рассмотрим следующий пример:

CREATE TABLE Orderltems
(
order_num INTEGER NOT NULL, 
order_item INTEGER NOT NULL, 
prod_id CHAR(10) NOT NULL, 
quantity INTEGER NOT NULL DEFAULT 1, 
item_price DECIMAL(8,2) NOT NULL 
)

     Посредством этого оператора создается таблица Orderltems, содержащая отдельные предметы, которые могут быть заказаны. (Сам заказ хранится в таблице Orders.) Столбец quantity (количество) содержит количество каждого предмета в заказе. В данном примере добавление текста DEFAULT 1 в описание столбца предписывает СУБД указывать количество, равное 1, если не указано иное.

     Значения по умолчанию часто используются для хранения в столбцах даты и денежных единиц. К примеру, системная дата может быть использована как дата по умолчанию путем указания функции или переменной, используемой для ссылки на системную дату. Например, пользователи MySQL могли бы указать дату как DEFAULT CURRENT_DATE (), в то время как пользователям Oracle следовало бы вводить дату как DEFAULT SYSDATE, а пользователям SQL Server — как DEFAULT GETDATE (). К сожалению, команда, используемая для получения системной даты, в каждой СУБД своя. В таблице ниже приведен синтаксис для нескольких СУБД (если ваша СУБД не представлена в этом списке, обратитесь к ее документации).

Access
NOWO
DB2
CURRENT_DATE
MySQL
CURRENTJDATE ()
Oracle
SYSDATE
PostgreSQL
CURRENT_DATE
SQL Server
GETDATE()
Sybase
GETDATE()

Использование значений DEFAULT вместо значений NULL

Многие разработчики баз данных используют значения default вместо столбцов null. Часто значения default применяются в столбцах, которые будут использованы в вычислениях или при статистической обработке данных.