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. pycharm提交代码到gitee

    1.在pycharm中下载gitee插件,打开pycharm进入settings页面,查看当前页面version control下是否 有gitee,要是没有点击plugins,在搜索框中搜索gite ...

  2. 源码阅读:VictoriaMetrics中的golang代码优化方法

    全文请移步:https://zhuanlan.zhihu.com/p/469239020 或关注我的公众号: 公众号:一本正经的瞎扯

  3. 安装Visual Studio的详细流程

      本文介绍Visual Studio 2022软件Community(社区版)的下载.安装.运行与使用方法.   首先需要提一句,本文介绍的是Visual Studio 2022软件的下载:而其它版 ...

  4. .net Core IsDefined、GetValues、HasFlag 使用

    IsDefined可以用于判断传入的单个值是否属于该枚举 GetValues检索指定枚举中常量值的数组 HasFlag 可以用于判断传入的多个值是否属于该枚举 先来个例子: public enum B ...

  5. 常用排序方法——python写法【冒泡、快速排序、TOP-K问题】

    1.冒泡排序 相信冒泡排序是很多小伙伴第一个知道的排序算法.它就是每趟排序冒出一个最大(最小)值,相邻两个元素比较,前一个比后一个大,则交换. def bubbleSort(arr): n = len ...

  6. PID 控制在医学麻醉过程血压控制中的应用|期末课程设计|PID控制器|自动控制原理

    前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助. 高质量博客汇总https://blog.cs ...

  7. Shopee x JuiceFS:ClickHouse 冷热数据分离存储架构与实践

    本文来自 shopee 技术团队 摘要 Shopee ClickHouse 是一款基于开源数据库 ClickHouse 做二次开发.架构演进的高可用分布式分析型数据库.本文将主要介绍 Shopee C ...

  8. 《ASP.NET Core 与 RESTful API 开发实战》-- (第6章)-- 读书笔记(下)

    第 6 章 高级查询和日志 6.3 排序 RESTful API 在实现排序时应支持对集合资源的一个或多个属性进行排序 示例对 authors 资源按照其属性 Age 升序排序,再按 BirthPla ...

  9. 反悔贪心&模拟费用流

    贪心是一种常用的算法,它能够获得局部最优解,但我们往往需要的是全局最优解,所以我们在贪心的时候加入和反悔的机制,让他能够得到全局最优解. 由于网络流中的退流操作本质上也是反悔贪心,所以在实现反悔贪心时 ...

  10. JS 判断两个数组是否相等,元素以及顺序相等,顺序不同但元素相等

    壹 ❀ 引 在日常开发中,判断两个数组是否相等应该是较为常见的场景,因为常用,所以想着简单记录下.关于判断数组相等,这里我分为两种场景,第一种是数组完全相等,即数组元素相同且元素顺序一致:第二则为元素 ...