2013-11-28 9 views
0

У меня есть столбец с REAL-типом данных, и я пытаюсь написать инструкцию, чтобы изменить значение по умолчанию на 4. Однако, когда я использую оператор select * для double проверьте, что столбец по-прежнему пуст.Alter table - изменить значение по умолчанию для столбца

ALTER TABLE recipes 
MODIFY NumberOfServings DEFAULT '4'; 
+0

'ALTER' не обновляет вашу таблицу. Это будет только строка, которая будет вставлена. –

ответ

1

Значение DEFAULT используется во время INSERT. Он дает значение по умолчанию, которое нужно вставить, если вы не указали значение столбца в инструкции INSERT.

Вы можете обновить таблицу, чтобы все нулевые значения заменяются на заданную величину:

UPDATE recipes SET NumberOfServings=4 WHERE NumberOfServings IS NULL; 

Вы также можете указать значение для использования, когда столбец во время запроса NULL. Это может быть сделано с помощью NVL функции:

SELECT NVL(NumberOfServings,4) FROM recipes; 

http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions105.htm

+0

Я пытаюсь изменить его, так что каждая запись равна 4 во всем столбце, когда я использую оператор select * – user2923395

+0

. В этом случае вы можете использовать инструкцию UPDATE выше – arieli

0

Значение по умолчанию применяется только при вставке новых записей в таблицу. Он не обновляет существующие значения в таблице. Почему вы вставляете числовое значение в кавычки?

Смежные вопросы