首页 > 解决方案 > 为什么这个 Oracle 插入值语句不起作用

问题描述

我试图用一些数据填充表,由于某种原因,Oracle 不会接受标准的 INSERT VALUES 语句。这是我多年来使用过无数次的技术,坦率地说,我被难住了。可能遗漏了一些完全明显的东西,但无论如何,这是罪魁祸首:

从第 3 行开始的错误命令:

    INSERT
     INTO P_TBL_CHECK
        ( 1
        , PRIMSUB
        , PRIMSUBENID
        , SECSUB
        , SECSUBENID
        , REGION
        , INN
        , CCT
        ) 
   VALUES 
        ( 1
        , '10/6116/004/E-BARMOUTH'
        , '10287699'
        , 'GSS-SH6016/004 BRANKSOME NO1'
        , '10246206'
        , 'MW'
        , '001'
        , '01'
        );

命令行错误:3 列:30 错误报告 - SQL 错误:ORA-00928:缺少 SELECT 关键字 00928。00000 -“缺少 SELECT 关键字” *原因:
*操作:

标签: sqloraclesql-insert

解决方案


INTO 子句的第一个参数中有一个数字1。它应该是列的名称。如果它是自动生成的列,则可以跳过它。

正如文档所述:数据库表或视图中的列列表。列可以按任何顺序列出,只要 VALUES 子句中的表达式按相同顺序列出即可。每个列名只能列出一次。如果列表不包括表中的所有列,则将每个缺失的列设置为 NULL 或 CREATE TABLE 语句中指定的默认值。

更多信息在这里


推荐阅读