定义虚拟列后,将记录插入oracle

时间:2014-11-10 06:05:03

标签: oracle

所以我注意到在oracle中定义一个虚拟列后,我无法在不提及特定列名的情况下插入。有没有关于此的文件?

例如: - 如果没有定义虚拟列,则以下工作:

INSERT INTO film VALUES ('12F', 'Full Screen', 2015);

但是,一旦我定义了一个名为number的虚拟列(它存储了number_key中的数字部分),如下所示:

ALTER TABLE film ADD (number AS (substr(number_key,1,2)));

我无法使用上面的insert语句添加记录,我收到错误:

 SQL Error: ORA-00947: not enough values
 00947. 00000 -  "not enough values"

我必须在插入查询中明确限定列名。为什么会这样?我在这里搞什么。

1 个答案:

答案 0 :(得分:4)

似乎期望我们应该限定插入的列名。更多信息可以找到here