ORA-01400: 无法将 NULL 插入 ("CHARGE_WQRL"."SF_JMQTFY_T"."BH")
[ERROR] JmCheckManageDaoImpl:901 - java.sql.SQLException: ORA-01400: 无法将 NULL 插入 ("CHARGE_WQRL"."SF_JMQTFY_T"."BH")
这个问题很多时候是没有为该表建立触发器(trigger)导致的,或者是序列(sequence)没建立,查看一下,确保两个都要有。
这是建立sequence
create sequence SF_JMQTFY_S
minvalue 1
maxvalue 999999999999999999999999999
start with 1
increment by 1
cache 20;
建立trigger
CREATE OR REPLACE TRIGGER "CHARGE_WQRL"."SF_JMQTFY_TR" BEFORE INSERT ON SF_JMQTFY_T FOR EACH ROW
DECLARE
BEGIN
SELECT SF_JMQTFY_S.NEXTVAL INTO :NEW.BH FROM DUAL;
END;
附:出现问题的存储过程,可以看到SF_JMJC_T的BH是声明了的,直接从序列获取,而SF_JMQTFY_T的BH是没有声明的,如果不使用触发器调用是无法赋值的。
--设置稽查表的sequence
SELECT SF_JMJC_S.NEXTVAL INTO V_BH FROM DUAL;
--稽查表插入信息
INSERT INTO SF_JMJC_T
(BH, CNQ, YHBH, JCDZ, YRSJ, YSFMJ, SFMJ, YGNZT, GNZT, YSFLB, SFLB, CLJG,
JCR, JCRQ, WYJ, CZY, BZ,QFJE)
VALUES
(V_BH, V_CNQ, V_YHBH, V_JCDZ, V_YRSJ, V_YSFMJ, V_SFMJ, V_YGNZT, V_GNZT,
V_YSFLB, V_SFLB, V_CLJG, V_JCR, V_JCRQ, V_WYJ, V_CZY, V_BZ,V_WYJ);
--其他费用表插入信息(违约金>0时将其插入欠费金额)
IF V_WYJ >= 0 THEN
INSERT INTO SF_JMQTFY_T
(CNQ, YHBH, FYBH, YSJE, QFJE, FYLB,YWBH)
VALUES
(V_CNQ, V_YHBH, 0, V_WYJ, V_WYJ, '违约金',V_BH);
END IF;
ORA-01400: 无法将 NULL 插入 ("CHARGE_WQRL"."SF_JMQTFY_T"."BH")的更多相关文章
- ora-01400 无法将NULL插入 ID 解决方法
问题描述:由于工作原因,把部分 字段改了,大体这样 StatementCallback; uncategorized SQLException for SQL [insert into test(sc ...
- MySQL timestamp NOT NULL插入NULL的问题
explicit_defaults_for_timestamp MySQL 5.6版本引入 explicit_defaults_for_timestamp 来控制对timestamp NULL值的处理 ...
- oracle 里 插入空字符串会被转成null插入
oracle 里 插入空字符串会被转成null插入 因为非空列如果要插入空字符串数据,最好是插个空格,因为空字符串会报错
- 其他信息: ORA-01400: 无法将 NULL 插入
这个错误其实就是oracle数据库的某列约束为 not null,但在插入值的时候插入了控制,无论是null和"",它都识别为空 有两种方法: 1.修改数据库字段约束为允许为空 2 ...
- MYSQL timestamp NOT NULL插入NULL的报错问题
1. 在开发两个数据库数据同步功能的时候,需要在本地搭建一个本地的数据库作为一个本地库,然后用于同步开发库中的数据.在插入的时候出现了一个问题. 问题描述: 我们每张表中都会存在一个create_ti ...
- [代码]--其他信息: ORA-01400: 无法将 NULL 插入
这个错误其实就是oracle数据库的某列约束为 not null,但在插入值的时候插入了控制,无论是null和"",它都识别为空 有两种方法: 1.修改数据库字段约束为允许为空 2 ...
- Oracle Ora 错误解决方案合集
注:本文来源于 < Oracle学习笔记 --- Oracle ORA错误解决方案 > ORA-00001: 违反唯一约束条件 (.)错误说明:当在唯一索引所对应的列上键入重复值时,会触发 ...
- Oracle 错误总结及问题解决 ORA
参考地址 ORA-00001: 违反唯一约束条件 (.)错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常.ORA-00017: 请求会话以设置跟踪事件ORA-00018: 超出最大会话数O ...
- Oracle ORA
ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常. ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 OR ...
随机推荐
- VB查询数据库之登陆窗体——机房收费总结(一)
机房收费系统已经做了很长一段时间了,虽然到目前为止,仍然没有结束,但已经结节尾声了.我感觉现在有必要回首总结一下整个机房收费系统. 除了结账做了一半,报表接触一点之外,其他的都基本上差不多了.从做过的 ...
- 最长上升子序列:2016 Pacific Northwest Region Programming Contest—Division 2 Problem M
Description A string of lowercase letters is calledalphabeticalif deleting zero or more of its lette ...
- 【Vijos 1607】【NOI 2009】植物大战僵尸
https://vijos.org/p/1607 vijos界面好漂亮O(∩_∩)O~~ 对于一个植物x,和一个它保护的植物y,连一条边<x,y>表示x保护y,对于每个植物再向它左方的植物 ...
- 【推导】Codeforces Round #432 (Div. 2, based on IndiaHacks Final Round 2017) B. Arpa and an exam about geometry
题意:给你平面上3个不同的点A,B,C,问你能否通过找到一个旋转中心,使得平面绕该点旋转任意角度后,A到原先B的位置,B到原先C的位置. 只要A,B,C构成等腰三角形,且B为上顶点.那么其外接圆圆心即 ...
- 【贪心】 Codeforces Round #419 (Div. 1) A. Karen and Game
容易发现,删除的顺序不影响答案. 所以可以随便删. 如果行数大于列数,就先删列:否则先删行. #include<cstdio> #include<algorithm> usin ...
- 既然有文件后缀名,为何还需要MIME类型?
作者:Vincross链接:https://www.zhihu.com/question/60495696/answer/204530120来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商 ...
- ZeroMQ——一个轻量级的消息通信组件
ZeroMQ是一个轻量级的消息通信组件,尽管名字中包含了"MQ",严格上来讲ZeroMQ并不是"消息队列/消息中间件".ZeroMQ是一个传输层API库, 更关 ...
- Unity3d插件研究之Easytouch
但我们开发移动端的游戏时,发现使用Input.GetMouseButtonDown的方法不可用,怎么办? 虽然unity3d也有自带触屏的方法,但是使用起来代价太高,什么单击,双击这些功能都要自己封装 ...
- 什么是webview
WebView(网络视图)能加载显示网页,可以将其视为一个浏览器.它使用了WebKit渲染引擎加载显示网页,实现WebView有以下两种不同的方法:第一种方法的步骤:1.在要Activity中实例化W ...
- [Java基础] Java线程复习笔记
先说说线程和进程,现代操作系统几乎无一例外地采用进程的概念,进程之间基本上可以认为是相互独立的,共享的资源非常少.线程可以认为是轻量级的进 程,充分地利用线程可以使得同一个进程中执行多种任务.Java ...