如果在两个数据库中用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 ; 就提示语法错误
...全文
248 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复
用两个事物对象·

752

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧