怎样把一个数据库中表的数据复制到另一个表中

时间:2021-07-19 04:30:34
如题。
情况需要每隔一个小时把一个A数据库表中的table1,table2的数据分别复制到另一个B数据库表中的table1,table2。两数据库中表结构完全相同。

谢谢,在线等。

13 个解决方案

#1


作业 job

#2


也可以使用数据复制技术,比较麻烦一点而已。

#3


能说的详细点吗?最好有些代码,还是谢谢楼上两位顶帖了

#4


企业管理器
--管理
--SQL Server代理
--右键作业
--新建作业
--"常规"项中输入作业名称
--"步骤"项
--新建
--"步骤名"中输入步骤名
--"类型"中选择"Transact-SQL 脚本(TSQL)"
--"数据库"选择执行命令的数据库
--"命令"中输入要执行的语句:
                      
.............
--确定
--"调度"项
--新建调度
--"名称"中输入调度名称
--"调度类型"中选择你的作业执行安排
--如果选择"反复出现"
--点"更改"来设置你的时间安排为一天一次


然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行

设置方法:
我的电脑--控制面板--管理工具--服务--右键 SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定.

#5


语句:
insert into tb..table1 select * from ta..table1
insert into tb..table2 select * from ta..table2

#6


俺的娘,好麻烦,我试试

#7


谢谢啦

#8


如果更新的话,是不是这样呢
update tb..table1   select * from ta..table1


中间是1个点,还是两个点啊

#9


引用 8 楼 anya 的回复:
如果更新的话,是不是这样呢
update tb..table1  select * from ta..table1


中间是1个点,还是两个点啊


两个点
  update tb..table1 set col=  ta..table1.col from ta..table1 

#10


楼上,更新是更新了,但是它把我那列的值全部都更新成一个值了,就是这样的
col 
3
3
3
3
3
3
3
3
3
3
3
3
......................

#11


少了关联条件

你两个表的关联条件加在后面,假设是ID
update tb..table1 a set col=  ta..table1.col from ta..table1 b where  a.id=b.id

#12


给你参考下
--用表B里相应卡号的(最小)时间 更新表A的数据
update @a set 时间=isnull((select min(时间) from @b where 卡号=a.卡号),a.时间) from @a a

#13


谢谢各位,特别是fredrickhu黛玉,给了我耐心无私的帮助。马上结帖。

#1


作业 job

#2


也可以使用数据复制技术,比较麻烦一点而已。

#3


能说的详细点吗?最好有些代码,还是谢谢楼上两位顶帖了

#4


企业管理器
--管理
--SQL Server代理
--右键作业
--新建作业
--"常规"项中输入作业名称
--"步骤"项
--新建
--"步骤名"中输入步骤名
--"类型"中选择"Transact-SQL 脚本(TSQL)"
--"数据库"选择执行命令的数据库
--"命令"中输入要执行的语句:
                      
.............
--确定
--"调度"项
--新建调度
--"名称"中输入调度名称
--"调度类型"中选择你的作业执行安排
--如果选择"反复出现"
--点"更改"来设置你的时间安排为一天一次


然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行

设置方法:
我的电脑--控制面板--管理工具--服务--右键 SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定.

#5


语句:
insert into tb..table1 select * from ta..table1
insert into tb..table2 select * from ta..table2

#6


俺的娘,好麻烦,我试试

#7


谢谢啦

#8


如果更新的话,是不是这样呢
update tb..table1   select * from ta..table1


中间是1个点,还是两个点啊

#9


引用 8 楼 anya 的回复:
如果更新的话,是不是这样呢
update tb..table1  select * from ta..table1


中间是1个点,还是两个点啊


两个点
  update tb..table1 set col=  ta..table1.col from ta..table1 

#10


楼上,更新是更新了,但是它把我那列的值全部都更新成一个值了,就是这样的
col 
3
3
3
3
3
3
3
3
3
3
3
3
......................

#11


少了关联条件

你两个表的关联条件加在后面,假设是ID
update tb..table1 a set col=  ta..table1.col from ta..table1 b where  a.id=b.id

#12


给你参考下
--用表B里相应卡号的(最小)时间 更新表A的数据
update @a set 时间=isnull((select min(时间) from @b where 卡号=a.卡号),a.时间) from @a a

#13


谢谢各位,特别是fredrickhu黛玉,给了我耐心无私的帮助。马上结帖。