更改表 - 更改列的默认值

时间:2013-11-28 20:49:53

标签: oracle oracle11g

我有一个REAL数据类型的列,我正在尝试编写一个语句来将默认值更改为4.但是,当我使用select *语句进行双重检查时,该列仍然是空的。

ALTER TABLE recipes
MODIFY NumberOfServings DEFAULT '4';

2 个答案:

答案 0 :(得分:1)

在INSERT时使用DEFAULT值。当您未在INSERT语句中为列提供值时,它会提供要插入的默认值。

您可能希望更新表,以便将所有NULL值替换为给定值:

UPDATE recipes SET NumberOfServings=4 WHERE NumberOfServings IS NULL; 

您还可以指定在QUERY时列为NULL时要使用的值。 这可以通过使用NVL功能来完成:

SELECT NVL(NumberOfServings,4) FROM recipes;

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

答案 1 :(得分:0)

默认值仅在您将新记录插入表格时适用。它不会更新表中的任何现有值。为什么要在引号中包含数值?