| 添加到收藏夹 | 返回目录页 | 上一篇:如何不停机热插把硬盘 |
DB2下有自增列这个功能吗??
RT,有的话如何实现?
| rick_zhang 回复于:2003-09-10 12:36:07 |
| 可以用触发器来做,你可以去ibm.com.cn上找一下想关资料.我以前试过,没问题的.这是在v5r1之前的解决方法.我不知道v5r2是不是已经有了更好的方法。 |
| xuguopeng 回复于:2003-09-10 13:29:24 |
| 老大 你给个连接也行啊,到IBM找,范围也太大了吧 |
| rick_zhang 回复于:2003-09-10 13:35:59 |
| http://www-900.ibm.com/cn/support/viewdoc/detail?DocId=1222032000002 |
| xuguopeng 回复于:2003-09-10 14:03:34 |
| 太感谢了~~ |
| michael9406 回复于:2003-09-10 16:16:19 |
| 如何创建能自动加一的字段?
环境 产品: DB2/400 平台: AS/400 版本: R510 问题 如何创建能自动加一的字段? 解答 到目前为止,DB2 UDB for iSeries还没有支持字段自动加一的内部命令。从OS/400 V5R1M0开始支持的SQL存储过程使得实现这一功能变得简单易行。 1. 创建一个包含默认值为0的整数字段的表: CREATE TABLE COLLECTION.TABLE (NUMBER_FIELD INTEGER NOT NULL WITH DEFAULT 0, ...  2. 表建立完成后,立即创建一个触发器程序: CREATE TRIGGER AUTO_NUMBER AFTER INSERT ON COLLECTION.TABLE FOR EACH ROW MODE DB2SQL BEGIN DECLARE MAXNUM INT; SET MAXNUM = (SELECT MAX(NUMBER_FIELD) FROM COLLECTION.TABLE); SET MAXNUM = MAXNUM + 1; UPDATE COLLECTION.TABLE SET NUMBER_FIELD = MAXNUM WHERE NUMBER_FIELD = 0; END 3. 建议在该表上建立唯一索引,以保证该整数字段没有被插入重复的值: CREATE UNIQUE INDEX COLLECTION.INDEX ON COLLECTION.TABLE (NUMBER_FIELD) WITH 1 DISTINCT VALUES 4. 如果想在一个已经存在的表中增加该功能,则需要在表中增加一个字段,并且手工将已存在的 记录进行自动加一的工作, 那么在这之后插入的记录就能够按照触发器自动加一: ALTER TABLE COLLECTION.TABLE ADD COLUMN NUMBER_FIELD INTEGER NOT NULL WITH DEFAULT 0 5. 由于该触发器总会搜索表中最大的值,因此如果设定被删除的记录所占用的空间可以被重新 利用,那么该记录对应的数值将不被重新计算。 6. 由于该表定义的是整数类型的字段, 因此最大数值为: 2147483647,如果您需要更大的数,那么 可以将该字段该为BIGINT类型, 这样就可以达到 9223372036854775807 : ALTER TABLE COLLECTION.TABLE ALTER COLUMN NUMBER_FIELD SET DATA TYPE BIGINT NOT NULL WITH DEFAULT 0 |
| sdj21 回复于:2003-09-12 15:24:32 |
| 这篇文章说得很清楚 [http://www-900.ibm.com/developerWorks/cn/dmdd/library/techarticles/0302fielding/0302fielding.shtml#sequence] |
| rick_zhang 回复于:2003-09-12 17:29:12 |
| 这篇文章很有意思,因为我还没有升级V5R2,所以还没有具体了解.不过据说V5R2的DB2的功能有很大提高,比如可以使用CREATE TABLE tbl1 AS (SELECT * FROM LIB2/TBL2 WHERE...) WITH DATA 这样的语法来建立file.我想一定还有很多新特性.有谁已经用V5R2的,可以介绍一下. |
| xuguopeng 回复于:2003-09-12 19:37:15 |
| 我就正在用 |
| 人世间 回复于:2003-09-16 11:12:24 |
| 还有更简单的方法:
CREATE TABLE INVOICE_DATA (INVOICE INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1 ,INCREMENT BY 1 ,NO CACHE) ,SALE_DATE DATE NOT NULL ,CUSTOMER_ID CHAR(20) NOT NULL ,PRODUCT_ID INTEGER NOT NULL ,QUANTITY INTEGER NOT NULL ,PRICE DECIMAL(18,2) NOT NULL ,PRIMARY KEY (INVOICE)) INVOICE 就是自动加1 的字段。 初始值为0时,写入第一条记录时值为0,以后累次加1。 初始值为1时,写入第一条记录时值为1,以后累次加1。 |
| xuguopeng 回复于:2003-09-16 11:52:38 |
| 楼上的看来是SQL高手,问个问题 在SYBASE数据库下有几个我还没找到对应的:
CONVERT DATEADD DATEDIFF 帮帮忙! |
| 人世间 回复于:2003-09-16 12:58:13 |
| 呵呵,SYBASE我也不熟呀,我用的是DB2的。
有一个SYBASE讨论区,你去找找吧! |
| xuguopeng 回复于:2003-09-16 13:58:00 |
| 对了,再问一下楼上的,如何设置可以让用户在前台或者导航器下在创建表或者查看的时候不加库名呢??
例如:SELECT * FROM tablename 但是现在我们必须都的这样:SELECT * FROM LIBname.tablename |
| wildfish 回复于:2003-10-27 09:44:55 |
| aaaaa |
最热门文章推荐:
>· html iframe
>· html源代码
>· asp html
>· html chm
>· 网页制作技巧
>· sql语句
>· sql sp4
>· sql 存储过程
下一篇:AS400的基本特点
↓相关文章:
- · AS400的基本特点
- · IBM 产品发布
- · 今天400真不争气~
- · 微软补丁给console带来的影响
- · 想在400和pc之间实现文件传输,有哪些方法?
- · ??如何查看400中磁带被使用了多少空间??
- · 如何得到一份完全的硬件列表
- · 请问:怎样将QSECOFR这个用户改为不能远程登陆?
- · 我的问题很简单,你一定知道答案,请赐教!
- · 北京JEEP二十年信息化建设回放
- · RGZPFM的问题
- · 关于CPYSPLF的问题
- · 如何减少AS/400 IPL所用的时间?
- · 如何在SQL中检查记录是否存在
- · SQLRPGLE的诸多问题
- · 关于FILES Attribute更改,PF—DTA可不可以改为PF—SRC!
- · 如何取某一日期是一个星期中的哪一天
- · 如何取两日期相差多少小时
- · 另一版本的两日期相差多少天
- · 自动启动TCP/IP的另外一种方法
- · 如何下载AS/400文件并保留其时间不变
- · OS/400与UNIX功能相似的部分命令
- · 如何查用的是哪一个源代码创建的文件
- · 对文件的操作到底对程序的执行效率能影响多少?
- · domino for AS/400一些知识的普及
- · 请教具体如何在Lotus Notes平台编程访问AS/400的DB/2数据库?
- · AS/400开发经验点滴(一)
- · AS/400开发经验点滴(二):一个批量修改文件属性的工具
- · 安装了2989后 telnet 的问题
- · Let AS/400 Page You!
- · 求助:如何实现程序等OBJ的双机拷贝?
- · 对系统中出现的message有相对应的说明吗
- · 求DOMINO FOR AS400 R5 TO R6详细升级步骤
- · AS/400开发经验点滴(三)--如何使用分布式关系数据库
- · INZTAP的参数问题
- · AS/400开发经验点滴(四)--如何在程序中获取系统状态信息
- · 异常IPL的原因归纳
- · 关于文件的 ShareODP 和 USROPN
- · 请教各位:如何查看是谁删除了Library?
- · 除去字符串中任何不需要的东东的思路,仅供参考!!!!!
- · 查看as400下全部USER的几种方法:
- · Fun With Dates In RPGLE
- · as400 I/O 错误小结
- · 我想用ORACLE取AS400的数据,有没有与这个类似的培训!
- · 400中显示在线用户操作记录的方法(用User Space API 实现)
- · 在rpg 里如何对开关进行重命名?
- · AS400 上部署 J2EE 的另一选择-- JBOSS !
- · 问个关于系统MSG的问题?
- · The OS400 Command interface is EXCELLENT, but coukd be impro
- · 帮忙解释安全文档里的一句话
- · 定时启用禁用用户登陆系统的方法
- · 如何更改logon on screen?
- · 跟踪IPL全程、并将产生的spoolfile转成PC上的文本文件,一气呵成.
- · AS400上的FTP可以限制那些用户不能登陆吗?
- · 如何從 AS/400 啟動 PC 程序或 從 PC 啟動 AS/400 程序?
- · 得到4位表示 年份 的新方法?
- · V5R3 CL Programming
- · 原创:建立QINTER外可用于交互式访问的独立子系统
- · hanyu看过来,24小时交易的AS/400如何备份?
- · 磁带放进去就弹不出来三个指示灯一会全亮着
- · 【探讨】如何使用Notes与其它关系数据库进行信息交互?
- · 【探讨】如何限制Notes用户邮箱大小?
- · Some info on AS/400 V5R3
- · iSeries课程学习导航图,给您指引学习或者培训方向。
- · 很菜的问题
- · 关于数据库文件的UC控制的问题
- · 转 Commit/Rollback概念
- · 有倒序排列的KEY值时的SETLL和SETGT
- · 大家帮忙来找茬(到底RPG程序错在哪?)
- · 讨论:关于创建obj时的参数--share
- · 帮忙看看这段程序的问题出在哪里?
- · 《最后100天的AS400学习心情笔记》
- · 在一个PF中加一字段,用来表示记录的序号!
- · SLR60磁带机可以做200GB系统的全系统备份,何故?
- · 讨论系统设备的异动监控
- · 求助:存储过程的查找和COPY
- · 【步骤】使用SQL DTS功能实现从DB/2向SQL Server传输数据.
- · 请教:如何修改PF文件的CCSID值?
- · 关于触发器的初级问题,请用过的大虾指教
- · 如何使用FTP在PC和AS/400之间传输包含中文的文件

