При определении поля таблицы можно указать значение по умолчанию, используя ключевое слово DEFAULT и выражение для этого значения; в выражении можно использовать функции, но нельзя использовать другие поля этой записи и подзапросы. Отметим, что при отсутствии ключевого слова DEFAULT значением по умолчанию считается значение NULL. В командах INSERT, если значение поля добавляемой записи отсутствует, значение поля устанавливается в соответствии со значением вычисленного выражения; при необходимости в команде INSERT можно явно указать другое значение.
Поле, для которого определено значение по умолчанию, может быть в команде INSERT инициализировано любым другим значением.
CREATE TABLE DefaultTest
(
name CHAR(20) DEFAULT 'Неизвестно',
datereg TIMESTAMP DEFAULT current_date,
num NUMBER(10) DEFAULT SIN(0.5)
)
INSERT INTO DefaultTest
VALUES ('Ana', DEFAULT, DEFAULT)
INSERT INTO DefaultTest (num) VALUES (2)
SELECT * FROM DefaultTest
NAME | DATEREG | NUM |
Ana | 01-JUL-09 10.43.30.000000 AM | |
Неизвестно | 01-JUL-09 10.43.33.000000 AM |
Слово DEFAULT в INSERT и UPDATE-командах ссылается на значение поля, устанавливаемое по умолчанию, например:
UPDATE DefaultTest SET num = default