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

标签 oracle

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

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

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

但是,一旦我定义了一个名为 number 的虚拟列(它存储来自 number_key 的数字部分),如下所示:
ALTER TABLE film ADD (number AS (substr(number_key,1,2)));

我无法使用上述插入语句添加记录,出现错误:
 SQL Error: ORA-00947: not enough values
 00947. 00000 -  "not enough values"

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

最佳答案

似乎期望我们应该限定插入的列名。更多信息请见here .

关于oracle - 定义虚拟列后将记录插入oracle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26837743/

相关文章:

oracle - 将 IN 更改为 EXISTS

c# - Oracle INTERVAL DAY TO SECOND 数据类型的 NHibernate 映射

sql - Oracle - 将多个计数作为一个查询返回

Oracle PL/SQL : Conditional Where Clause

c# - "ORA-01036: illegal variable name/number\n"用于 C# 中的 Oracle clob

xml - 在 Oracle 数据库中存储 XML 的最佳列是什么?

.net - VS2010+甲骨文驱动: ORA-12154: TSN:could not resolve the connect identifier specified

oracle - 在oracle中创建一个返回当前日期和时间的函数

sql - 时间戳和系统日期

java - Oracle - SET ROLE 语句