免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: richardluopeng
打印 上一主题 下一主题

请问:db2怎么象oracle一样取序列生成器,谢谢 [复制链接]

论坛徽章:
0
1 [报告]
发表于 2003-04-30 15:21 |显示全部楼层

请问:db2怎么象oracle一样取序列生成器,谢谢

DB7.2以后才有sequence这个对象,创建的时候和oralce一样,不过使用的时候有点区别。
nextval for sequencename
prevval for sequencename
而不是sequencename.nextval

论坛徽章:
0
2 [报告]
发表于 2003-05-01 10:43 |显示全部楼层

请问:db2怎么象oracle一样取序列生成器,谢谢

原帖由 "xdoris" 发表:
EEE不支持identity column.
do not know whether V8.1 support it

7.2以后的版本应该都支持identity column

论坛徽章:
0
3 [报告]
发表于 2003-05-07 12:11 |显示全部楼层

请问:db2怎么象oracle一样取序列生成器,谢谢

1、jdbc连接的默认端口应该是6789

论坛徽章:
0
4 [报告]
发表于 2003-05-07 12:12 |显示全部楼层

请问:db2怎么象oracle一样取序列生成器,谢谢

[quote]原帖由 "vlife"]自动增加的字段在数据导入和导出的时候大家都用的什么方法啊??[/quote 发表:

对于用下面DDL语句建立的表,在LOAD操作时如何控制自生成列的值?
create table idn1(id integer, name char(20), dn integer not null generated always as identity (start with 1, increment by 1))
解答 可以在LOAD命令中加下面参数控制自生成列:
1 modified by identityignore
加载的数据文件中有自生成列值,LOAD时忽略数据文件中自生成列值
2 modified by identitymissing
加载的数据文件中没有自生成列值,LOAD时自动生成自生成列值
3 modified by identityoverride
加载的数据文件中有自生成列值,LOAD时使用用数据文件中的自生成列值

例如:
在数据文件idn1.del的内容如下:
1,"Test ----------------",1
2,"Test ----------------",2
3,"Test ----------------",3
4,"Test ----------------",4
5,"Test ----------------",5

在数据文件idn2.del的内容如下:
1,"Test -----------------"
2,"Test -----------------"
3,"Test ---------------- "
4,"Test -----------------"
5,"Test -----------------"

select * from idn1的输出为:
ID -----NAME -----------DN
------- ------------- ------
--------1 Test ---------1
--------2 Test ---------2
--------3 Test ---------3
3 条记录已选择。


执行下面LOAD命令后
load from idn1.del of del modified by identityignore insert into idn1
select * from idn1的输出为:
ID -----NAME ---------DN
------- ------------ -------
-------1 Test ---------1
-------2 Test--------- 2
-------3 Test--------- 3
-------1 Test--------- 4
-------2 Test--------- 5
-------3 Test--------- 6
-------4 Test--------- 7
-------5 Test ---------8

8 条记录已选择。 执行下面LOAD命令后
load from idn2.del of del modified by identitymissing insert into idn1
db2 select * from idn1的输出为:
ID ----NAME ------DN
------ --------- -------
-----1 Test -----1
-----2 Test -----2
-----3 Test -----3
-----1 Test -----4
-----2 Test -----5
-----3 Test----- 6
-----4 Test -----7
-----5 Test -----8
8 条记录已选择。

执行下面LOAD命令后
load from idn1.del of del modified by identityoverride insert into idn1
select * from idn1的输出为:
ID -----NAME----- DN
------ --------- --------
-----1 Test -----1
-----2 Test -----2
-----3 Test -----3
-----1 Test----- 1
-----2 Test -----2
-----3 Test----- 3
-----4 Test -----4
-----5 Test -----5
8 条记录已选择。

论坛徽章:
0
5 [报告]
发表于 2003-05-07 14:12 |显示全部楼层

请问:db2怎么象oracle一样取序列生成器,谢谢

原帖由 "richardluopeng" 发表:
6789,我试了,不行,是不是驱动不行

我用的是db2的 db2java.zip的那个,是不是有问题呀??

com.ibm.db2.jdbc.app.DB2Driver是本机连接的驱动
com.ibm.db2.jdbc.net.DB2Driver是远程连接的驱动
如果是本机的话试试下面的URL
url="jdbc:db2:dbname"

试试

论坛徽章:
0
6 [报告]
发表于 2003-05-07 15:05 |显示全部楼层

请问:db2怎么象oracle一样取序列生成器,谢谢

原帖由 "richardluopeng" 发表:
谢谢您,

还请问一下:

com.ibm.db2.jdbc.net.DB2Driver用到的jar文件什么地方可以找到,谢谢!


是不是也在db2java.zip里??


都是用的db2java.zip这个文件。
不同的是com.ibm.db2.jdbc.app.DB2Driver是在访问本地的数据源或是访问通过db2的客户端在本地建立了一个远程数据库的数据源的时候,用它。
而com.ibm.db2.jdbc.net.DB2Driver是直接访问远程数据库的时候用的。
ibm建议当用application访问的时候用app,当applet访问的时候用net
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP