Oracle支持可为空字端的唯一约束呢?下面就是用触发器作出的限制语句,仅供参考:
CREATE OR REPLACE TRIGGER Tg_Completion_Test
BEFORE INSERT OR UPDATE ON bz_funds_voucher
FOR EACH ROW --行触发,没有本行则为语句级触发
DECLARE
Too_Many EXCEPTION;
PRAGMA EXCEPTION_INIT(Too_Many, -20001);
v_Exist_Count NUMBER := 0;
BEGIN
Select Count(*)
Into v_Exist_Count
From bz_funds_voucher t
Where t.document_code is not null
and t.territory_code = :new.territory_code
and t.document_code = :new.document_code ;
If v_Exist_Count > 0 Then
Raise_Application_Error(-20001, '数据重复存储!');
End If;
End;
CREATE OR REPLACE TRIGGER Tg_Bz_rent_payment_voucher
BEFORE INSERT OR UPDATE ON bz_rent_payment_voucher
FOR EACH ROW --行触发,没有本行则为语句级触发
DECLARE
Too_Many EXCEPTION;
PRAGMA EXCEPTION_INIT(Too_Many, -20002);
v_Exist_Count NUMBER := 0;
BEGIN
Select Count(*)
Into v_Exist_Count
From bz_rent_payment_voucher t
Where
t.collection_way not in ('转款', '优惠活动')
and t.create_date > to_date('2015-01-01', 'yyyy-mm-dd')
and t.serial_no is not null
and t.reserve_code is null
and t.serial_no = :new.serial_no ;
If v_Exist_Count > 0 Then
Raise_Application_Error(-20002, '同一流水收款单重复存储!');
End If;
End;

Oracle触发器联合唯一约束的更多相关文章

  1. mysql 给表添加唯一约束、联合唯一约束,指定唯一约束的名字

    表结构 FIELD          TYPE          COLLATION       NULL    KEY     DEFAULT  Extra           PRIVILEGES ...

  2. Django设置联合唯一约束 -- migrate时报错处理

    异常信息: a unique database constraint for 2 or more fields together 场景描述: 对于ORM中多对多关系的中间表,如果该关系表是手动创建的, ...

  3. Django model中设置多个字段联合唯一约束

    Django中model部分的写法, 参见 unique-together 部分文档. class MyModel(models.Model): field1 = models.CharField(m ...

  4. django中的model 的unique_together(联合唯一)

    unique_together解释 nique_together 这个元数据是非常重要的一个!它等同于数据库的联合约束! 举个例子,假设有一张用户表,保存有用户的姓名.出生日期.性别和籍贯等等信息.要 ...

  5. Oracle数据库中违反唯一约束的处理

    根据NULL的定义,NULL表示的是未知,因此两个NULL比较的结果既不相等,也不不等,结果仍然是未知.根据这个定义,多个NULL值的存在应该不违反唯一约束. 实际上Oracle也是如此实现的: SQ ...

  6. Oracle 数据库表中已有重复数据添加唯一键(唯一约束)

    Oracle 数据库表中已有重复数据添加唯一键(唯一约束) 问题描述 以 demo 举例,模拟真实场景. 表 TEST_TABLE 有如下字段和数据:id 是主键,code 没有设置键和索引 ID C ...

  7. Oracle数据库,非空约束、主键约束、外键约束、唯一约束

    非空约束:设置列时,可为空默认可为空,去掉对号之后设置数据不可为空: 唯一约束:在键中设置,唯一约束名称.类型Unique.列名:设置应用完成之后,此列数据具有唯一性:即数据不可重复(类型:Uniqu ...

  8. hibernate中怎样配置两个联合属性为唯一约束(非联合主键)

    Annotation中配置: @Table元素包括了一个schema和一个catalog属性,如果需要可以指定相应的值. 结合使用@UniqueConstraint注解可以定义表的唯一约束(uniqu ...

  9. Oracle数据库五种约束

    oracle 数据库 数据表的5个约束类型:1.主键约束2.外键约束3.唯一约束4.检查约束5.非空约束 主键约束:用来唯一标示表中的一个列,一个表中的主键约束只能有一个,但是可以在一个主键约束中包含 ...

  10. Oracle删除主键约束的同时删除索引

    继续昨天的折腾(Oracle修改主键约束),删掉主键约束后,发现唯一索引并未删掉.仔细看了下,主键约束跟唯一索引名称不一样,这说明是先创建了唯一索引,后创建的主键约束.我们来试验下: SQL> ...

随机推荐

  1. Windows 审计日志 安全部分不刷新的解决办法

    现在存在一个问题如图示: 有接近15个小时的日志没有进行记录和展示. 要追查问题比较麻烦. 后来发现必须要手动刷新一下 审计记录才可以实现. 感觉比较奇怪 位置为  计算机配置->windows ...

  2. echarts显示地图

    <template> <div class="managingPatientSize"> <div id="china-map"& ...

  3. vue中$children的理解

    官网介绍 $children $children 获取当前实例的直接子组件 .需要注意 $children 并不保证顺序,也不是响应式的.[特别重要] 如果你发现自己正在尝试使用 $children ...

  4. 在K8S中,Pod生命周期包含哪些?

    在Kubernetes(简称K8s)中,Pod的生命周期经历了一系列状态变化.以下是Pod可能处于的一些主要状态: Pending: 当创建一个Pod时,它首先会进入Pending状态.这个状态下,K ...

  5. 【四】多智能体强化学习(MARL)近年研究概览 {Learning cooperation(协作学习)、Agents modeling agents(智能体建模)}

    相关文章: [一]最新多智能体强化学习方法[总结] [二]最新多智能体强化学习文章如何查阅{顶会:AAAI. ICML } [三]多智能体强化学习(MARL)近年研究概览 {Analysis of e ...

  6. win10 局域网共享文件创建方法

    win10 局域网共享文件创建方法 1.先在桌面文件夹,我命名为"xxxx",然后将文件放在该文件里. 2.右击共享文件夹,找到属性选项,点击"属性".再点击& ...

  7. html 图片地图

    <html> <head> <title></title> </head> <body> <img src="8 ...

  8. PHP操作数据分页

    PHP操作数据分页 一.数据库安全 string addslashes ( string $str ) 返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线.这些字符是单引号('). ...

  9. Windows平台安装Oracle11.2.0.4客户端报错INS-30131

    之前为解决EXP-00003错误给出了安装Oracle11.2.0.4的解决方案,自己测试是没问题的,客户自己安装反馈遇到报错INS-30131,MOS有一篇文章: E1: DB: Error INS ...

  10. 【幻兽帕鲁】专用服务器攻略来啦!一键部署,5s开服

    本文分享自华为云社区<全网最易用.最实用.最好用的[幻兽帕鲁]专用服务器攻略来啦!一键部署,5s开服!>,作者: 云容器大未来. 华为云隆重推出"帕鲁服务器-云耀云容器版&quo ...