关于db2 load命令多加一列参数值该怎么写?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于db2 load命令多加一列参数值该怎么写?相关的知识,希望对你有一定的参考价值。

在db2使用load命令加载数据文件到表时,能否多加一列默认值给表(假设数据文件有10列,表有11列,前10列与数据文件相对应,最后一列我想通过传一个默认的参数值进去),这种load命令该怎么写?

参考技术A (一)如下思路供参考:
1)改第11列的定义 添加默认值
db2 alter table <表名> alter column col11 set default <默认值>
2)执行导入语句
db2 load from <文件名> of <文件类型> insert into <表名>(col1,col2,col3...col10) nonrecoverable
3)如果只需要做一次,之后再修改11列定义,删除默认值
db2 alter table <表名> alter column col11 drop default

(二)如下是测试例子:
C:\cap_log>
C:\cap_log>
C:\cap_log>db2 select * from tab1

A B
----------- -
1 a
2 a
1 a
2 a
1 b
2 b

6 record(s) selected.

C:\cap_log>db2 alter table tab1 alter column b set default 'W'
DB20000I The SQL command completed successfully.

C:\cap_log>more 1.del
1
2

C:\cap_log>db2 load from 1.del of del insert into tab1(a) nonrecoverable
SQL3109N The utility is beginning to load data from file "C:\cap_log\1.del".

SQL3500W The utility is beginning the "LOAD" phase at time "2014-10-01
11:45:28.077839".

SQL3519W Begin Load Consistency Point. Input record count = "0".

SQL3520W Load Consistency Point was successful.

SQL3110N The utility has completed processing. "2" rows were read from the
input file.

SQL3519W Begin Load Consistency Point. Input record count = "2".

SQL3520W Load Consistency Point was successful.

SQL3515W The utility has finished the "LOAD" phase at time "2014-10-01
11:45:28.153020".

Number of rows read = 2
Number of rows skipped = 0
Number of rows loaded = 2
Number of rows rejected = 0
Number of rows deleted = 0
Number of rows committed = 2

C:\cap_log>db2 select * from tab1

A B
----------- -
1 a
2 a
1 a
2 a
1 b
2 b
1 W
2 W

8 record(s) selected.

C:\cap_log>db2 alter table tab1 alter column b drop default
DB20000I The SQL command completed successfully.

C:\cap_log>本回答被提问者和网友采纳

求教在sqlserver2008中的表中怎么添加一列自增的列?

1、例如给某表添加一个Num自增列,这张表已经有很多行数据了,通过sqlserver表设计器,添加一个新字段Num,如图所示,

2、添加字段后,点击保存,会弹出一个小框“不允许保存更改。所做的更改要求删除并重新创建一下表”,这个要求不能满足啊,这么多的数据,删除了怎么办?

3、点击SQL Server Management Studio顶部的菜单【工具】->【选项】,

4、打开【选项】弹窗界面如图所示,默认展开的是【常规】选项,

5、拖动左侧的菜单,找到并点击【表设计器】->【表设计器和数据库设计器】,

6、在右侧出现的【表选项】中,找到并 取消勾选【阻止保存要求重新创建表的更改】,点击【确定】按钮,

7、再次在表设计界面,点击保存,如果表中的数据量很大的话,会有这个验证警告:“将定义更改保存到包含有大量数据的表中可能需要很长时间”,此项可以忽略,

8、直接点击【是】按钮,就可以保存成功了。

参考技术A alter table 表 add 列 int IDENTITY(1,1) NOT NULL
表指的是你要处理的那个表名称;列指你要添加的列名称;以上示例添加了一个数据类型为int型的列,自增序列号从1开始,每行增加量为1.
希望对你有所帮助!
参考技术B

这个很简单,这样操作:Table右键->新建->进入设计视图添加一个新列(例如:ID,int),Is Identity 设置成True, Identity Increment就是自增量,每次增加多少。Identity Seed,就是种子,从多少开始。

以上是关于关于db2 load命令多加一列参数值该怎么写?的主要内容,如果未能解决你的问题,请参考以下文章

shell脚本入参包含感叹号怎么处理

关于DEVEXPRESS 添加图片列

Mysql中 unique列插入重复值该怎么解决

Mysql中 unique列插入重复值该怎么解决呢

在SQL数据库表中添加一列数值型(默认保留2位)的数字,该怎么写?

正则表达式的空值该如何写?