分享好友 数据库首页 频道列表

DB2自动递增字段实现方法

DB2教程  2015-06-30 10:260
使用这个一般是用作识别码的,当做定义表格的主键。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教程】的文章

展开全文
相关推荐
反对 0
举报 0
评论 0
图文资讯
热门推荐
优选好物
更多热点专题
更多推荐文章
db2,oracle,mysql ,sqlserver限制返回的行数
不同数据库限制返回的行数的关键字如下:①db2select * from table fetch first 10 rows only; ②oracleselect * from table where rownum=10; ③mysqlselect * from table limit 10; ④sqlServerselect top 10 * from table;

0评论2023-02-10309

SQL 必备- ORACLE-SQSLSERVER-DB2时间函数及常见函数总结
SQLSERVER 篇:一、时间函数 --getdate 获取当前时间 select getdate() --dateadd 原有时间加: 2013-02-17 13:20:16 此时间加12个月select dateadd(MONTH,12,'2013-02-17 13:20:16')--返回:2014-02-17 13:20:16.000(参数month可以改为 day,year等日期加相

0评论2023-02-10765

数据库(MSSQLServer,Oracle,DB2,MySql)常见语句以及问题
创建数据库表1 create table person2 (3 FName varchar(20),4 FAge int,5 FRemark varchar(20),6 primary key(FName)7 )View Code

0评论2023-02-09691

数据库(MSSQLServer,Oracle,DB2,MySql)常见语句以及问题(续1之拼接字符串)
  上一篇文章http://www.cnblogs.com/valiant1882331/p/4056403.html写的太长了,所以就换了一篇,链接上一节继续字符串的拼接MySql中可以使用"+"来拼接两个字符串.select '12'+'33',FAge+'1' from t_employeeView Code

0评论2023-02-09798

数据库触发器DB2和SqlServer有哪些区别
大部分数据库语句的基本语法是相同的,但具体到的每一种数据库,又有些不一样,例如触发器,DB2和SQL Server两种很大的不同。对数据库触发器DB2和SqlServer有哪些区别感兴趣的朋友一起看看本文吧

0评论2015-11-0776

DB2常用傻瓜问题1000问(三)

0评论2015-07-08143

DB2数据库的备份和恢复

0评论2015-07-08158

DB2UDBV8.1管理学习笔记(三)

0评论2015-07-0880

DB2优化(简易版)

0评论2015-07-08143

JSP如何连接DB2数据库

0评论2015-07-08137

IBMDB2基本性能调整

0评论2015-07-0883

DB2数据同步方面的经验

0评论2015-07-0880

DB2UDBV8.1管理学习笔记(二)

0评论2015-07-08101

DB2个人版(Linux)安装

0评论2015-07-0886

IBMDB2日常维护汇总(七)

0评论2015-07-0396

IBMDB2日常维护汇总(四)

0评论2015-07-0373

更多推荐