oracle 错误报告- ORA-01401:插入的值对于列太大[已关闭]

qxsslcnc  于 2023-02-21  发布在  Oracle
关注(0)|答案(1)|浏览(456)

1年前关闭。
Improve this question

CREATE TABLE DRIVER 
(
    Driver_Licence VARCHAR2(8) NOT NULL,
    SSN            VARCHAR2(7),
    First_Name     VARCHAR2(7) NOT NULL,
    Last_Name      VARCHAR2(7),
    Birth_Date     DATE DEFAULT '01/01/1900',
    Hire_Date      DATE,
    State_Name     CHAR(2),

    CONSTRAINT Driver_PK PRIMARY KEY (Driver_Licence),
    CONSTRAINT Driver_UC UNIQUE (SSN),
    CONSTRAINT Driver_CHK CHECK (Hire_Date > Birth_Date)
);

/*
Hire Date corresponds to the date the employee was first hired
*/

尝试在SQL中创建表,但标题中不断出现错误
ORA-01401:为列插入的值太大

mnowg1ta

mnowg1ta1#

我认为您放错了创建表的错误ORA-01401: inserted value too large for column,该错误是插入语句的错误。
为了创建这个表,你需要将“Birth_Date”列的默认值转换为日期。我试着在我的环境中运行这个脚本,运行良好。

CREATE TABLE DRIVER 
(
    Driver_Licence VARCHAR2(8) NOT NULL,
    SSN            VARCHAR2(7),
    First_Name     VARCHAR2(7) NOT NULL,
    Last_Name      VARCHAR2(7),
    Birth_Date     DATE DEFAULT TO_DATE('01/01/1900', 'DD/MM/YYYY'),
    Hire_Date      DATE,
    State_Name     CHAR(2),

    CONSTRAINT Driver_PK PRIMARY KEY (Driver_Licence),
    CONSTRAINT Driver_UC UNIQUE (SSN),
    CONSTRAINT Driver_CHK CHECK (Hire_Date > Birth_Date)
);

希望这对你有帮助。

相关问题