【问题标题】:Oracle SQL having troubles inserting values into a table SYS.DBMS_SQL?Oracle SQL 在将值插入表 SYS.DBMS_SQL 时遇到问题?
【发布时间】:2022-11-11 19:33:21
【问题描述】:

试图在表格中插入一些值并总是向我显示一些错误,我认为这与日期或 smth 有关但不太确定,如果有人知道出了什么问题,请告诉我......

当前向我显示的错误是:

  • ORA-01861:文字与格式字符串不匹配 ORA-06512:在“SYS.DBMS_SQL”,第 1721 行
INSERT INTO Cats VALUES ('JACEK','M','CAKE','CATCHING','BALD','2008-12-01',67,NULL,2);

这是表格:

CREATE TABLE Cats (
    name VARCHAR2(15) CONSTRAINT cat_name_nn NOT NULL,
    gender VARCHAR2(1) CONSTRAINT cat_gen_ch CHECK (gender IN('M', 'W')),
    nickname VARCHAR2(15) CONSTRAINT cat_pk PRIMARY KEY,
    function VARCHAR2(10), 
    chief VARCHAR2(15), 
    in_herd_since DATE DEFAULT SYSDATE CONSTRAINT cat_inherd_nn NOT NULL,
    mice_ration NUMBER(3),
    mice_extra NUMBER(3),
    band_no NUMBER(2),
    CONSTRAINT cat_banno_fk FOREIGN KEY (band_no) REFERENCES Bands(band_no),
    CONSTRAINT cat_chief_fk FOREIGN KEY (chief) REFERENCES Cats(nickname),
    CONSTRAINT cat_fun_fk FOREIGN KEY (function) REFERENCES Functions(function)
);

【问题讨论】:

    标签: sql database oracle oracle-sqldeveloper


    【解决方案1】:

    在为数据类型为 Date 的列输入字符值时,您必须使用 TO_DATE 函数将其转换为 DATE。如果你的 in_herd_since 列是 DATE 类型,你应该试试这个

    TO_DATE('2008-12-01', 'YYYY-MM-DD') -- 未经测试

    INSERT INTO Cats VALUES ('JACEK','M','CAKE','CATCHING','BALD',
    TO_DATE('2008-12-01', 'YYYY-MM-DD'),67,NULL,2);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-29
      • 2019-09-12
      • 2012-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-04
      相关资源
      最近更新 更多