【问题标题】:ORA-00984: column not allowed here [duplicate]ORA-00984: 此处不允许列 [重复]
【发布时间】:2013-06-07 21:35:35
【问题描述】:

我正在执行一个简单的 Oracle INSERT,但我不断收到此错误: [Err] ORA-00984: column not allowed here

INSERT INTO MY.LOGFILE
(id,severity,category,logdate,appendername,message,extrainfo)
VALUES
(
"dee205e29ec34",
"FATAL",
"facade.uploader.model",
"2013-06-11 17:16:31",
"LOGDB",
NULL,
NULL
)

【问题讨论】:

  • 在字符串文字周围使用单引号(撇号),例如'致命的'。双引号可选地(很少)用于列名等标识符周围。
  • 如果您在 PL/SQL 中使用变量,也可能意味着您尚未定义变量,例如声明 v_my_var number := 1; INSERT INTO tbl (col_name) 值 (my_var); -- 注意拼写错误的变量名

标签: oracle oracle10g


【解决方案1】:

用单引号代替双引号:

INSERT
INTO    MY.LOGFILE
        (id,severity,category,logdate,appendername,message,extrainfo)
VALUES  (
       'dee205e29ec34',
       'FATAL',
       'facade.uploader.model',
       '2013-06-11 17:16:31',
       'LOGDB',
       NULL,
       NULL
       )

在 SQL 中,双引号用于标记标识符,而不是字符串常量。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2020-03-31
  • 2018-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多