如果在两个数据库中用insert ...select从一个数据库中的表给另一个数据库中的表追加数据?

my_yinger 2002-05-16 10:33:19
如何在两个数据库中用
insert restofselectstatement {using transactionobject}
select restofselectstatement {using transactionobject}
从一个数据库中的表给另一个数据库中的表追加数据?
在同一个数据库中用
insert 加 select子句可以给从一个表给另一个表追加数据,当然两个表的结构是一样的。
那两个数据库之间呢?我定义了两个transaction,当然要加{using transactionobject}参数
可是怎么写?我不加using在同一个数据库中这样写

INSERT INTO 数据表名字
select restofselectstatement ; 是正确的。

可我在两个数据库之间这么写
INSERT INTO 数据表名字 using 事务对象1
select restofselectstatement using 事务对象2 ; 就提示语法错误
...全文
201 点赞 收藏 11
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
wj_mailbox 2002-09-01
agree lesni
回复
lesni 2002-09-01
在Oracle中可以用COPY命令,不过写在PB中没试过。
其实完全大可不必这么伤脑筋,建一个DataStore,把源数据ReTrieve出来,再连目标数据库,Rowscopy到目标DataStore中就可以了嘛,而且可控性好。
回复
Pike_Feng 2002-09-01
可能是两个表的结构不一样,我也遇到过.
回复
ckc 2002-09-01
异想天开。
你是想一条SQL在不同的两个数据库中执行,这是不可能的。
如果是同种大型数据库,还有一点希望,你还想在不同类型
的数据库中执行,更加不可能了。
我们在pb中写的sql语句pb会送到数据库系统去执行,
你的这个sql要送到哪个数据库去执行?目标还是源?
这个思路是不可行的。
就你的问题,数据管道可能是最好的解决办法了。
回复
夜行虎 2002-09-01
建议直接用datapipe导,速度可以。
回复
my_yinger 2002-09-01
也罢,看来没什么好的建议了
回复
qianfl 2002-05-21
两个数据库导数据不是那么简单的,还要考虑字段类型是否兼容等问题,象日期型的字段每种数据库几乎都不一样,不能兼容,还是用数据库管理系统来解决好一点
回复
flymeng 2002-05-21
最麻烦的办法就是先用管道导过来,再用sql语句或存储过程来做,
回复
my_yinger 2002-05-21
我用的就是两个事务对象啊!在者不可能在存储过程中写的,例如一个联接的是MS的数据库,另一个是联接的sybase的数据库怎么能写在存储过程中!?另外如果是用ODBC联接的dbase表,那来的存储过程?
回复
tigi 2002-05-16
最好不要在PB脚本里写,可以通过数据库的存储过程来写,执行效率要比PB高很多。
在存储过程中通过
INSERT INTO 表1
SELECT * FROM 库名.dbo.表2
回复
xingxing 2002-05-16
用两个事物对象·
回复
相关推荐
发帖
数据库相关
创建于2007-09-28

738

社区成员

PowerBuilder 数据库相关
申请成为版主
帖子事件
创建了帖子
2002-05-16 10:33
社区公告
暂无公告