Oracle SQL缺少逗号错误

And*_*rew 1 sql oracle

我一直盯着这个插入语句和结果ORA-00917: missing comma错误一段时间,似乎无法找到原因.它确实让我觉得我拥有所需的所有逗号.

INSERT INTO Person (PERSONID, FIRSTNAME, LASTNAME, EMAIL, PHONE, STATUS, RECORDSTATUS, INSERTDATE, INSERTEDBY)
values(1, 'Andrew', 'Hayes', 'myemail', '123456789', 'A', 'A', sysdate(), 0);
Run Code Online (Sandbox Code Playgroud)

我不认为这是必要的,但如果它有帮助,这里是架构:

CREATE TABLE PERSON
(
  PERSONID      NUMBER                          NOT NULL,
  FIRSTNAME     VARCHAR2(100 BYTE)              NOT NULL,
  LASTNAME      VARCHAR2(100 BYTE)              NOT NULL,
  EMAIL         VARCHAR2(200 BYTE)              NOT NULL,
  PHONE         VARCHAR2(100 BYTE)              NOT NULL,
  STATUS        VARCHAR2(50 BYTE)               DEFAULT 'A'        NOT NULL,
  RECORDSTATUS  VARCHAR2(50 BYTE)               DEFAULT 'A'        NOT NULL,
  INSERTDATE    DATE                            NOT NULL,
  INSERTEDBY    NUMBER                          NOT NULL
)
Run Code Online (Sandbox Code Playgroud)

sim*_*sim 6

你的问题是SYSDATE(),它不需要括号!

它应该只用作SYSDATE,没有()

正确使用:

SELECT SYSDATE FROM DUAL;
Run Code Online (Sandbox Code Playgroud)

你的用途:

SELECT SYSDATE() FROM DUAL;
Run Code Online (Sandbox Code Playgroud)