服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - DB2 - DB2 自动递增字段实现方法

DB2 自动递增字段实现方法

2020-06-08 17:40DB2数据库教程网 DB2

DB2提供了当有一行插入的时候自动在某一列添加值的功能,可以使用所谓identity rules,简单点的比如某个数值的递增填入该列中,当然也有很复杂的。

使用这个一般是用作识别码的,当做定义表格的主键。generated语法则可以自定义你想怎么产生这个值的策略。
语法如下:
column definition generated {always | by default}
as {identity identity rules | using your rules}
我们先删掉上次我们建立的表格:
db2 => drop table nomination
然后再创建一个表格:

复制代码 代码如下:


Create table nomination
(
nominationID BIGINT Not Null Primary Key generated always as identity,
nominee char(6) Not Null,
nominator char(6) Not Null,
reason VARCHAR(250),
nomdate date Not Null,
categoryid INTEGER Not Null,
check (nominee != nominator) not enforced enable query optimization,
Foreign Key CategoryExists (categoryid)
references category (categoryid) on delete restrict
)


注意黑体字,以后我们就不能使用insert或者update来显式的指定它的值了。
而DB2中的identity也提供了多种策略,具体的可以去查DB2手册,我们举例如下:
我们先删掉上次我们建立的表格:
db2 => drop table category
然后建立表单

复制代码 代码如下:


Create table category
(
CategoryID INTEGER Primary Key Generated Always as Identity
(Start With 1 Increment by 1 minvalue 0 maxvalue 999999999
no cycle cache 5 no order),
CateogryName VARCHAR(50) Not Null,
Eligibility VARCHAR(250)
)


黑体字中identity中的语句你都能在DB2的手册中查到,都是自然语言一看就懂了。
有时候你并不只想去做数字的填充,你可能还想处理一些字母,那么下边这个转换大写的例子就是给你的:
db2 => alter table category add column
UpperCatName VARCHAR(50) generated always as (upper(CategoryName))
关于这些在DB2的文档里都有具体说明。

延伸 · 阅读

精彩推荐
  • DB2分析DB2活动日志满的原因及解决DB2日志满方法与避免方案

    分析DB2活动日志满的原因及解决DB2日志满方法与避免方案

    本文简单地介绍了DB2中日志的使用、活动日志以及首个活动日志的概念、日志满的原因、日志满的诊断、临时处理以及避免办法 ...

    wdc3462020-06-05
  • DB2db2数据库常用操作命令大全

    db2数据库常用操作命令大全

    这篇文章主要介绍了db2数据库常用操作命令大全,汇总了DB2的常用操作命令,分享给大家供大家参考,需要的朋友可以参考下...

    db2教程网6962021-10-21
  • DB2DB2 UDB V8.1管理学习笔记(三)

    DB2 UDB V8.1管理学习笔记(三)

    本文主要讲解DB2 UDB V8.1管理学习笔记(三),有需要的朋友可以参考下 ...

    DB2数据库教程网3182020-06-03
  • DB2python之sqlalchemy创建表的实例详解

    python之sqlalchemy创建表的实例详解

    这篇文章主要介绍了数据库之sqlalchemy创建表的实例详解的相关资料,希望通过本文能帮助到大家,让大家掌握理解这部分内容,需要的朋友可以参考下...

    wait_for_eva8502020-06-11
  • DB2DB2专家王云谈商业智能BI

    DB2专家王云谈商业智能BI

    王云说: 既然讲商业智能,我们大家都在讲及时性,我们讲要有绩效,要有BPM,我自己就来看看我们能不能在这个会场上,我们来实践一下,如果大家抬头...

    DB2数据库教程网4202020-06-10
  • DB2DB2 SELECT语句高级用法

    DB2 SELECT语句高级用法

    DB2 SELECT语句高级用法,学习db2数据库的朋友可以参考下。 ...

    DB2数据库教程网6242020-06-08
  • DB2CentOS下DB2数据库安装过程详解

    CentOS下DB2数据库安装过程详解

    这篇文章主要介绍了CentOS下DB2数据库安装过程详解,本文步骤详细,操作的命令也比较全,需要的朋友可以参考下 ...

    DB2数据库教程网3572020-06-06
  • DB2如何访问大型机、小型机上的DB2 9数据服务器

    如何访问大型机、小型机上的DB2 9数据服务器

    数据库连接工具软件 DB2 connect的基本特性是为桌面应用程序和服务主机的数据库服务器之间提供一种连接交互访问的方法。这些桌面应用程序所在的环境可...

    脚本之家3242020-06-10