[发明专利]跨数据库支持多字段组合的自动编码方法和系统有效
申请号: | 201210580904.7 | 申请日: | 2012-12-27 |
公开(公告)号: | CN103020285A | 公开(公告)日: | 2013-04-03 |
发明(设计)人: | 廖中华 | 申请(专利权)人: | 北京仿真中心 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京正理专利代理有限公司 11257 | 代理人: | 张雪梅 |
地址: | 100854 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 支持 多字 组合 自动 编码 方法 系统 | ||
技术领域
本发明涉及一种数据库自动编码方法,特别是一种跨数据库支持多字段组合的自动编码方法。
背景技术
目前常见的数据库有Oracle、Microsoft SQL Server、MySql、DB2、Sybase和Microsoft Access,它们各自的自动编号实现方式有所不同。除了这些数据库自带的编码方法,为了满足一些特殊的编码需求,也有人在通过触发器、存储过程或程序代码来实现。
1、有关现有技术
a)Oracle
Oracle不具有已定义好的自动编号列,需要手工创建。下面是创建Oracle自动编号列的一般方法:
1).为要添加Oracle自动编号列的表创建索引,被索引的列就是后面要实现的自动编号列,这样的列往往是名为“ID”的列。以方案LY中的表HARD为例,给其hard_id列创建索引的SQL语句为:
1.CREATE UNIQUE INDEX LY.HARD ON LY.HARD(hard_id);
2).创建一个最小值为1,最大值不限,递增值为1的序列。序列的创建同样可以通过OEM或直接输入SQL语句创建。创建序列的SQL语句为:
3).最后为表LY.HARD创建触发器,以实现在每次插入行时,hard_id列自动递增编号。下面为创建触发器的SQL语句:
b)SQL Server
SQL Server采用标识增量的方式实现自动编码:首先将列定义成整型int,然后在该属性字段的“列属性”里找到“标识”,将其中的是否选择标识置为“是”,最后再定义增量种子为1即可。
也可以采用使用语法来创建自动编码列,语法如下:
1.CREATE TABLE[表名字](
2.[自增列名字][int]IDENTITY(1,1)NOT NULL,
3.。。。其他列
4.)
c)MySql
MySql在建表时采用AUTO_INCREMENT属性来指定某列为自动编号,如:
1.CREATE TABLE`mydatabase`.`mytable`(
2.`ID`INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
3....
4....
5.PRIMARY KEY(`id`)
6.)
d)DB2
标识列为DB2提供一种方法,可自动为添加至表的每一行生成唯一数值。要对新表定义标识列,在CREATE TABLE语句中使用AS IDENTITY子句。当创建一个表时,如果需要将唯一标识添加至该表的每一行,那么可向该表添加一个标识列。要保证为添加至表的每一行提供唯一数字值,应在标识列定义唯一索引,或将其声明为主键。
标识列的值可以“始终”或“在默认情况下”由DB2数据库管理器生成。将对定义为GENERATED ALWAYS(始终)的标识列给予始终由DB2数据库管理器生成的值,不允许应用程序提供显式的值。定义成GENERATED BYDEFAULT(在默认情况下)的标识列使应用程序能够显式地为标识列提供值,如果应用程序不提供值,那么DB2将生成一个值;因为由应用程序控制该值,所以DB2不能保证该值的唯一性。下面是一个GENERATED BY DEFAULT的示例:
1.create table mydatabase.mytable (
2.ID int generated by default as identity,
3....
4....
5.)
e)Sybase
在Sybase中实现数据库自动编码的方法是采用Identity属性来标识列,identity跟Oracle中的sequence对象完成的功能类似,但是有一定的约束,每个table只能有一个identity的列,列的类型必须是numberic(n,0)。具体的创建语法如下:
1.create table table_name
2.(column_name numeric(precision,0)identity)
f)Microsoft Access
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京仿真中心,未经北京仿真中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210580904.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于处理焚烧烟气的净化装置
- 下一篇:一种防堵塞洗涤塔