跨库操作SQL Server数据库的插入、修改

跨库操作SQL Server数据库的插入

create  procedure dbo.p_insertAmdata
as
declare @amid integer
declare @addate datetime
declare @msg varchar(80)
Declare mycursor cursor for select am_id from t_ammeter
open mycursor
fetch next from mycursor into @amid
while @@fetch_status=0
begin
  declare datecursor cursor for select max(ad_date) as maxdate from t_amdata
  open datecursor
  fetch next from datecursor into @addate
  select @msg='----------------------'+Str(@amid)+'---------------------------'
  if @addate<>null
  begin
  print @msg
  print @addate
  insert into t_amdata2 select * from OPENDATASOURCE(
         'SQLOLEDB',
         'Data Source=.;User ID=sa;Password=123'
         ).sdcs_data.dbo.t_amdata where am_id=@amid and ad_date>@addate
  end
  else
  begin
  select @msg='----------------------'+str(@amid)+'No date---------------------------'
  print @msg
  insert into t_amdata2 select * from OPENDATASOURCE(
         'SQLOLEDB',
         'Data Source=.;User ID=sa;Password=123'
         ).sdcs_data.dbo.t_amdata where am_id=@amid
  end
  close datecursor
  deallocate datecursor

  fetch next from mycursor into @amid
end
close mycursor
deallocate mycursor

 

跨库操作SQL Server数据库的修改

create procedure dbo.p_updatemeter--(
  --@amid integer
--)
as
declare @amid integer
declare @ame1 varchar(64)
Declare mycursor cursor for select am_id from t_ammeter
open mycursor
fetch next from mycursor into @amid
while @@fetch_status=0
begin
  declare amcursor  cursor for select am_e1 from OPENDATASOURCE(
         'SQLOLEDB',
         'Data Source=www.slgdgs.cn;User ID=sdcs;Password=sdcs'
         ).sdcs_old.dbo.t_ammeter where am_id=@amid
  open amcursor
  fetch next from amcursor into @ame1
  update t_ammeter set am_e1=@ame1 where am_id=@amid
  close amcursor
  deallocate amcursor
  fetch next from mycursor into @amid
end
close mycursor
deallocate mycursor

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值