sql oracle 缺少逗号错误代码 ORA-00917

Posted

技术标签:

【中文标题】sql oracle 缺少逗号错误代码 ORA-00917【英文标题】:sql oracle missing comma error code ORA-00917 【发布时间】:2013-06-25 14:27:38 【问题描述】:

我是新来的,所以我有一个问题要问.. sql oracle 说这个错误 ORA-00917: missing comma 。希望有解决办法

CREATE TABLE ASSIGNMENT (
    ASSIGN_NUM      CHAR(3),
    ASSIGN_DATE     DATE,
    PROJ_NUM        CHAR(3),
    EMP_NUM             CHAR(3),
    ASSIGN_JOB              CHAR(4),
    ASSIGN_CHR_HR       NUMBER(8,2),
    ASSIGN_HOUR         NUMBER(8,2),
    ASSIGN_CHARGE        NUMBER(8,2));

DESCRIBE ASSIGNMENT


INSERT INTO ASSIGNMENT VALUES ('1001','20-MAR-2006','18','103','503','84.50','3.5','295.75';

【问题讨论】:

除了插入末尾缺少的“)”之外,从插入语句中排除列名可能是不好的做法。为什么?一旦有人向表中添加另一列,插入就会中断。此外,在列名中引用表名,例如 ASSIGN_NUM、ASSIGN_JOB、ASSIGN_CHARGE 等,被视为代码“气味”。而是考虑使用 NUM、JOB、CHARGE 等。 【参考方案1】:

看起来您在 INSERT 语句的末尾缺少一个右括号:

INSERT INTO ASSIGNMENT VALUES ('1001','20-MAR-2006','18','103','503','84.50','3.5','295.75');

【讨论】:

抱歉,我无法得到您的答案。你能写吗?【参考方案2】:

您在查询结束时错过了right parenthisis

INSERT INTO ASSIGNMENT VALUES (
  '1001','20-MAR-2006','18','103','503','84.50','3.5','295.75';
                                                           ^^^^^ 
                                                       Here you missing )

【讨论】:

【参考方案3】:

试试这个插入:

INSERT INTO ASSIGNMENT VALUES ('1001',TO_DATE('20-MAR-2006','DD-MON-YYYY'),'18','103','503','84.50','3.5','295.75');

【讨论】:

【参考方案4】:

试试这个,因为你不能在数字中插入引号:

INSERT INTO ASSIGNMENT VALUES ('1001',TO_DATE('20-MAR-2006','DD-MON-YYYY'),'18','103','503',84.50,3.5,295.75);

【讨论】:

以上是关于sql oracle 缺少逗号错误代码 ORA-00917的主要内容,如果未能解决你的问题,请参考以下文章

sql 修复了错误 - 缺少逗号和最后一个drop table命令

无法更正 Oracle 错误 ORA-00905 SQL 中缺少关键字

ORACLE SQL 错误 - 缺少右括号 - 查询 [关闭]

Navicat:连接Oracle时,提示ORA-28547,Cannot load OCI DLL.193,ORA-03135错误

Navicat:连接Oracle时,提示ORA-28547,Cannot load OCI DLL.193,ORA-03135错误

Oracle SQL - 使用 Case 语句缺少关键字错误的更新查询