唯一性约束异常的确定方法、异常处理方法及装置制造方法及图纸

技术编号:16346053 阅读:45 留言:0更新日期:2017-10-03 22:22
本申请实施例公开了唯一性约束异常的确定方法、异常处理方法及装置。所述唯一性约束异常的确定方法包括:接收包含预设字段的值的SQL语句;所述SQL语句用于将所述预设字段的值插入到包含所述预设字段的预设表中;获取与所述预设表中的所述预设字段对应的表定义元数据;根据所述表定义元数据,校验所述SQL语句中的预设字段的值是否存在完整性约束的异常;若不存在所述完整性约束的异常,执行所述SQL语句,并将在执行所述SQL语句时抛出的异常确定为唯一性约束的异常。通过上述过程,可以避免错误地将完整性约束的异常判定为唯一性约束的异常。

【技术实现步骤摘要】
唯一性约束异常的确定方法、异常处理方法及装置
本申请涉及数据库
,特别涉及一种唯一性约束异常的确定方法、异常处理方法及装置。
技术介绍
目前,在诸多应用场景中,存在向数据库维护的数据表插入数据的需求。例如,在资金类交易事务的场景中,为防止同一个交易事务被重复执行多次,一般可以在数据库中维护一张幂等表,当第一次处理某事务请求时,向上述幂等表中插入与该事务请求对应的唯一ID(如:交易流水号),这样,即便后续再次接收到上述事务请求,通过查询上述幂等表中是否存在上述唯一ID,即可判定该事务请求是否被处理过。通常,上述数据表可以具有一定的约束条件,所述约束条件可以包括唯一性约束及完整性约束。所述唯一性约束(UNIQUE)用来限制表中的某些列上的数据的唯一性(不重复),而完整性约束则用来防止不符合规范的数据被插入到数据表中。所述完整性约束一般包括域完整性约束、用户定义的完整性及引用完整性约束等。以域完整性约束为例,可以包括:检查各个字段的类型是否正确,字段的值是否超出预设范围,字段的值是否非空等。由于数据表存在上述约束条件,在请求将数据插入到数据表的过程中,若所需插入的数据无法满足上述约束本文档来自技高网...
唯一性约束异常的确定方法、异常处理方法及装置

【技术保护点】
一种唯一性约束异常的确定方法,其特征在于,包括:接收包含预设字段的值的SQL语句;所述SQL语句用于将所述预设字段的值插入到包含所述预设字段的预设表中;获取与所述预设表中的所述预设字段对应的表定义元数据;根据所述表定义元数据,校验所述SQL语句中的预设字段的值是否存在完整性约束的异常;若不存在所述完整性约束的异常,执行所述SQL语句,并将在执行所述SQL语句时抛出的异常确定为唯一性约束的异常。

【技术特征摘要】
1.一种唯一性约束异常的确定方法,其特征在于,包括:接收包含预设字段的值的SQL语句;所述SQL语句用于将所述预设字段的值插入到包含所述预设字段的预设表中;获取与所述预设表中的所述预设字段对应的表定义元数据;根据所述表定义元数据,校验所述SQL语句中的预设字段的值是否存在完整性约束的异常;若不存在所述完整性约束的异常,执行所述SQL语句,并将在执行所述SQL语句时抛出的异常确定为唯一性约束的异常。2.如权利要求1所述的方法,其特征在于,根据所述表定义元数据,校验所述SQL语句中的预设字段的值是否存在完整性约束的异常,具体包括:根据所述表定义元数据,校验所述SQL语句中的预设字段的值是否存在域完整性约束的异常;根据所述表定义元数据,校验所述SQL语句中的预设字段的值是否存在用户自定义完整性约束的异常;则若不存在所述完整性约束的异常,执行所述SQL语句,并将在执行所述SQL语句时抛出的异常确定为唯一性约束的异常,具体包括:若不存在域完整性约束的异常及用户自定义完整性约束的异常,执行所述SQL语句,并将在执行所述SQL语句时抛出的异常确定为唯一性约束的异常。3.一种唯一性约束异常的确定方法,其特征在于,包括:接收包含预设字段的值的SQL语句;所述SQL语句用于将所述预设字段的值插入到包含所述预设字段的预设表中;若在执行所述SQL语句时抛出异常,获取与所述预设表中的所述预设字段对应的表定义元数据;根据所述表定义元数据,校验所述SQL语句中的预设字段的值是否存在完整性约束的异常;若不存在所述完整性约束的异常,将在执行所述SQL语句时抛出的异常确定为唯一性约束的异常。4.如权利要求3所述的方法,其特征在于,根据所述表定义元数据,校验所述SQL语句中的预设字段的值是否存在完整性约束的异常,具体包括:根据所述表定义元数据,校验所述SQL语句中的预设字段的值是否存在域完整性约束的异常;根据所述表定义元数据,校验所述SQL语句中的预设字段的值是否存在用户自定义完整性约束的异常;则若不存在,确定上述在执行所述SQL语句时抛出的异常为唯一性约束的异常,具体包括:若不存在域完整性约束的异常及用户自定义完整性约束的异常,将在执行所述SQL语句时抛出的异常确定为唯一性约束的异常。5.一种异常处理方法,其特征在于,包括:接收包含预设字段的值的SQL语句;所述SQL语句用于将所述预设字段的值插入到包含所述预设字段的预设表中;获取与所述预设表中的所述预设字段对应的表定义元数据;根据所述表定义元数据,校验所述SQL语句中的预设字段的值是否存在完整性约束的异常;若不存在所述完整性约束的异常,执行所述SQL语句,并将在执行所述SQL语句时抛出的异常确定为唯一性约束的异常;利用与唯一性约束的异常对应的处理方式来处理在执行所述SQL语句时抛出的异常。6.一种异常处理方法,其特征在于,包括:接收包含预设字段的值的SQL语句;所述SQL语句用于将所述预设字段的值插入到包含所述预设字段的预设表中;若在执行所述SQL语句时抛出异常,获取与所述预设表中的所述预设字段对应的表定义元数据;根据所述表定义元数据,校验所述SQL语句中的预设字段的值是否存在完整性约束的异常;若不存在所述完整性约束的异常,将在执行所述SQL语句时抛出的异常确定为唯一性约束的异常;利用与唯一性约束的异常对应的处理方式来处理在执行所述SQL语句时抛出的异常。7...

【专利技术属性】
技术研发人员:李楠
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1