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 ...
随机推荐
- Oracle 索引扫描的五种类型
之前在讨论CBO和RBO的时候提到了索引扫描的几种类型. Oracle Optimizer CBO RBO http://blog.csdn.net/tianlesoftware/archive/20 ...
- BM算法--串匹配
BM(Boyer-Moore)算法,后缀匹配,是指模式串的比较从右到左,模式串的移动也是从左到右的匹配过程,一般情况比KMP算法要快.时间复杂度O(m/n) C++描述(教师版) int BM(cha ...
- 【20181024T1】小C的数组【二分+dp】
题面 [正解] 题目求最大的最小,可以二分 设\(f_i\)表示第i个数不改满足条件需要改多少个 可以从j转移,那么[j+1,i]的均匀摊开后的差值应该在范围内 容易推出方程: \(f_i=min_{ ...
- Eden的退役记
好久没更博客了, 这篇随笔不同于之前的学术性随笔.游记,只是来发泄一下自己的情感,回忆一下自己的OI经历…… 五年的OI生涯结束了 初一:懵懂的我刚接触了OI,被其功能吸引.由于运气好过了初赛,然而复 ...
- 【并查集】Gym - 101128B - Black Vienna
有26张牌(A~Z),其中三张被拿走了.其余23张被分发给了两个人.给你m次调查结果,一次调查结果是对其中一个人询问一对牌,他会告诉你他有这对牌的几张(0~2).问你有多少种被拿走的牌的组合. 三重循 ...
- 【manacher】HDU4513-吉哥系列故事——完美队形II
[题目大意] 求最长回文队伍且队伍由中间向两边递减. [思路] 和字符串一样的做法,在递推的时候增加判断条件:a[i-p[i]]<=a[i-p[i]+2]. #include<iostre ...
- php的json_encode()之后float类型丢失精度
在后台php中,金额保留两位小数.但是前端显示精度丢失,出现了14位小数的奇怪现象.本来以为是前端js解析之后出现的问题.检查之后发现json_encode()之后就出现了. 原始的值: array( ...
- [转]115个Java面试题和答案——终极列表(下)
第一篇讨论了面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,本章主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servle ...
- 使用Javascript实现ajax示例
使用原始的javascript实现ajax <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"& ...
- 从connect到express02-中间件morgan
控制台输出请求日志 输出格式 默认格式: dev, combined, tiny等 自定义格式: morgan(':method :url :status :res[content-length] - ...