db2中import的用法update

db2中import的用法update,第1张

IMPORT的五种方式:
导入可使用五种方式,它们用于确定导入数据的方法。前三种方式为INSERT、INSERT_UPDATE和REPLACE,在目标表已存在的情况下使用。这三种方式都支持IXF、WSF、ASC和DEL数据格式。但是,只有INSERT和INSERT_UPDATE可与昵称配合使用。
UPDATE:使用输入行的值更新具有匹配主键值的行,如果没有匹配行,那么会将已导入行插入到表中。

假如你的DB实例名为dbname,登录名为username,密码为password
连接db
如果用控制中心,就用connect to dbname user username using passowrd;
如果用运行->db2cmd,就用db2 connect to dbname user username using passowrd;
1导出数据库表结构、视图、存储过程、触发器等等等等……
db2look -d dbname -e -i username -w password -o C:/db_tablessql
2导出数据
export to 'C:\tablename1del' of del select from "username""tablename1";
export to 'C:\tablename2del' of del select from "username""tablename2";
……等等
3在本地的话随便弄咯,把刚才从服务器上db_tablessql和各个表的del数据文件copy到本地,然后执行db_tablessql就好了,最后把数据导进去,用这个命令:
import from 'C:\tablename1del' of del insert into "username""tablename1";
等等
4噢了
全部手写的哈,难免有错误,自己再研究研究。我下班啦!走了……

右键数据库-->所有任务-->还原数据库-->写入你想要的新的数据库名字-->从设备-->选择设备-->添加-->选择你的文件-->确定-->确定-->选项-->改为现在的data目录的路径-->OK
其中:
"写入名字"-->不要与现在的冲突了,或选强制恢复
"改为现在的data目录的路径"-->如默认是"c:\data\mdf"而现在的sql的data目录是d:\data就改为d:\data\mdf

可以在表前加数据库名和用户名来实现。下面是想法你可试下
你的意思是不是从table1 表中查询数据写到table2中??
user database2
go
insert table2
select 字段1,字段2,字段3,。。。。from database1table1
go

db2 => CREATE TABLE test_create_tab2 (
db2 (cont) => id INT NOT NULL PRIMARY KEY generated always as identity,
db2 (cont) => val VARCHAR(10)
db2 (cont) => );
DB20000I SQL 命令成功完成。
db2 => INSERT INTO test_create_tab2(val) VALUES ('NO id');
DB20000I SQL 命令成功完成。
这里和 SQL Server 一样,大家都不能手动指定那个 自增id 的数值
db2 => INSERT INTO test_create_tab2(id, val) VALUES (1, 'id no use');
DB21034E 该命令被当作 SQL 语句来处理,因为它是无效的“命令行处理器”命令。在
SQL 处理期间,它返回:
SQL0798N 不能为定义为 GENERATED ALWAYS 的列 "ID" 指定值。 SQLSTATE=428C9
这里和 SQL Server 不一样,SQL Server 会自动排除掉那个自动递增的列
db2 => INSERT INTO test_create_tab2 VALUES ('Is Auto ');
DB21034E 该命令被当作 SQL 语句来处理,因为它是无效的“命令行处理器”命令。在
SQL 处理期间,它返回:
SQL0117N 赋值数目与指定的或隐含的列数或变量数不一样。 SQLSTATE=42802
关于 初始数值的设定。
db2 => drop TABLE test_create_tab2;
DB20000I SQL 命令成功完成。
db2 => CREATE TABLE test_create_tab2 (
db2 (cont) => id INT NOT NULL PRIMARY KEY generated always as identity
db2 (cont) => (Start With 100
db2 (cont) => Increment by 1
db2 (cont) => minvalue 100
db2 (cont) => maxvalue 999999999
db2 (cont) => no cycle cache 5 no order),
db2 (cont) => val VARCHAR(10)
db2 (cont) => );
DB20000I SQL 命令成功完成。
db2 => INSERT INTO test_create_tab2(val) VALUES ('NO id');
DB20000I SQL 命令成功完成。
db2 => select from test_create_tab2;
ID VAL
----------- ----------
100 NO id
1 条记录已选择。
db2 => select identity_val_local() from SYSIBMSYSDUMMY1;
1
---------------------------------
100
1 条记录已选择。

export to c:/adel of del select from a这样可以直接把数据导入到本地目录;
在存储过程中可以这样调用CALL SYSPROCADMIN_CMD('export to c:/adel of del select from a')只是导出路径要写sever端,这样导出的数据会保存在安装db2数据库的电脑上,而不会保存在客户端上


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13338790.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-17
下一篇 2023-07-17

发表评论

登录后才能评论

评论列表(0条)

保存