您的位置:首页 > 其它

ora-01400 无法将NULL插入 ID 解决方法

2014-03-28 17:40 369 查看
问题描述:由于工作原因,把部分 字段改了,大体这样

StatementCallback; uncategorized SQLException for SQL
[insert into test(schoolId,classId,teacherId,weekId,serialno,name) values(28529,23402,328717,7,8,'')];
SQL state [null]; error code [17081]; 批处理中出现错误: ORA-01400: 无法将 NULL 插入 ("XXX"."test"."ID")
; nested exception is java.sql.BatchUpdateException: 批处理中出现错误: ORA-01400: 无法将 NULL 插入 ("ORAL"."test"."ID")
-(:71)


这个问题很多时候是没有为该表建立触发器导致的,或者是sequence没建立,或者是trigger没建立。

建立其中一个或两个即可。

这是建立sequence

create sequence TEST_SEQ

minvalue 1

maxvalue 999999999999999999999999999

start with 1

increment by 1

cache 20;


这是建立trigger的

CREATE OR REPLACE TRIGGER " TEST_TRI" BEFORE

INSERT ON TEST

FOR EACH ROW

BEGIN

SELECT test_seq.NEXTVAL INTO :NEW.ID FROM DUAL;

END;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: