SQL错误:ORA-01722:无效的数字

时间:2015-11-28 06:53:39

标签: oracle

这是我的桌子。

CREATE TABLE SCHEDULE (
    SCHEDULE_ID INT                NOT NULL
    ,ARRV_TIME  INT                NOT NULL
    ,DEP_TIME   INT                NOT NULL
    ,BUS_TRANSFERS  VARCHAR2(40)   NOT NULL
    ,BUS_ID  NUMERIC               NOT NULL
    ,TRAVEL_DIRECTION  VARCHAR(10) NOT NULL
    ,WEEK_DAY  INTEGER             NOT NULL
);

我运行此插入语句

INSERT INTO SCHEDULE (SCHEDULE_ID, ARRV_TIME, DEP_TIME, BUS_TRANSFERS, BUS_ID, TRAVEL_DIRECTION, WEEK_DAY) 
VALUES (SEQ_SCHEDULE.NEXTVAL,'10', '11', 'White Oak', '2', 'North', '4');

我收到此错误消息:

  

从命令行的第1行开始出错 - INSERT INTO SCHEDULE   (SCHEDULE_ID,ARRV_TIME,DEP_TIME,BUS_TRANSFERS,BUS_ID,   TRAVEL_DIRECTION,WEEK_DAY)VALUES(SEQ_SCHEDULE.NEXTVAL,'10','11',   '白橡木','2','北','4')

     

错误报告 - SQL错误:ORA-01722:无效的数字   01722. 00000 - “无效号码”   *原因:指定的号码无效。   *操作:指定有效数字。

2 个答案:

答案 0 :(得分:0)

试试这个: -

CREATE TABLE SCHEDULE( 
SCHEDULE_ID INTEGER NOT NULL ,
ARRV_TIME INTEGER NOT NULL ,
DEP_TIME INTEGER NOT NULL ,
BUS_TRANSFERS VARCHAR2(40) NOT NULL ,
BUS_ID INTEGER NOT NULL ,
TRAVEL_DIRECTION VARCHAR2(10) NOT NULL ,
WEEK_DAY INTEGER NOT NULL );

INSERT INTO SCHEDULE(SCHEDULE_ID, ARRV_TIME, DEP_TIME,BUS_TRANSFERS,BUS_ID, TRAVEL_DIRECTION, WEEK_DAY)
VALUES(SEQ_SCHEDULE.NEXTVAL,10,11, 'White Oak',2,'North',4);

答案 1 :(得分:0)

此错误是因为您已将arrival_time声明为int,并且您尝试为此插入“10”值。哪个是字符串请删除非字符串数据类型的引号