zoukankan      html  css  js  c++  java
  • OpenDataSOurce 指定参数

    declare @IP1 varchar(100)
    declare @Uid1 varchar(100)
    declare @Pwd1 varchar(100)
    set @IP1 = '127.0.0.1'
    set @Uid1 = 'sa'
    set @Pwd1 = '123'
    exec ('select * from OpenDataSource(''SQLOLEDB'',''Data Source='+@IP1+';User ID='+@Uid1+';Password='+@Pwd1+''').Agency.dbo.Property')
    
    declare @IP1 varchar(100)
    declare @Uid1 varchar(100)
    declare @Pwd1 varchar(100)
    set @IP1 = '127.0.0.1'
    set @Uid1 = 'sa'
    set @Pwd1 = '123'
    declare @SQL varchar(500)
    set @SQL=
    'select * from OpenDataSource(''SQLOLEDB'',''Data Source='+@IP1+';User ID='+@Uid1+';Password='+@Pwd1+''').Agency.dbo.Property'
    select @SQL
    exec (@SQL)
    
    同样可以指定access 数据库,但注意引号的不同
    
    最近做表复制的时候遇到的问题。。 
    
    第1步 删除表2
    
    第2步 筛选表1将数据插入表2
    
    create proc Proc_TableCopy
     @IP1 varchar(50),
     @Uid1 varchar(50),
     @Pwd1 varchar(50),
     @IP2 varchar(50),
     @Uid2 varchar(50),
     @Pwd2 varchar(50)
    as
     begin Transaction 
     /*declare @IP1 varchar(50)
     set @IP1 = '127.0.0.1'
     declare @Uid1 varchar(50)
     set @Uid1='sa'
     declare @Pwd1 varchar(50)
     set @Pwd1 = '123'
     declare @IP2 varchar(50)
     declare @Uid2 varchar(50)
     declare @Pwd2 varchar(50)
     set @IP2 = '127.0.0.1'
     set @Uid2='sa'
     set @Pwd2 = '123'*/
     --1 检索源数据表中需要复制的数据信息(初步是设想可以区分新的要筛选的数据)
     /*declare @SQL varchar(8000)
     set @SQL = 'select * from OpenDataSource(''SQLOLEDB'',''Data Source='+@IP1+';User ID='+@Uid1+';Password='+@Pwd1+''').Agency.dbo.Property'
     select @SQL
     if Exists(exec(@SQL))*/
     --begin
     --2 将新增数据写入临时表中
     --select * into #temp from OpenDataSource('SQLOLEDB','Data Source=127.0.0.1;User ID=sa;Password=123').Agency.dbo.Property
     --3 将目标表中的数据删除
     declare @DelSQL varchar(8000)
     set @DelSQL = 'delete from OpenDataSource(''SQLOLEDB'',''Data Source='+@IP2+';User ID='+@Uid2+';Password='+@Pwd2+''').pubs.dbo.Property'
     --select @DelSQL
     exec(@DelSQL)
     --4 将临时表中的数据插入到目标表中
     declare @InsertSQL varchar(8000)
     set @InsertSQL ='insert into OpenDataSource(''SQLOLEDB'',''Data Source='+@IP2+';User ID='+@Uid2+';Password='+@Pwd2+''').pubs.dbo.Property select * from OpenDataSource(''SQLOLEDB'',''Data Source='+@IP1+';User ID='+@Uid1+';Password='+@Pwd1+''').Agency.dbo.Property'
     select @InsertSQL
     exec (@InsertSQL)
     --5 删除临时表
     --drop table #temp
     --end
     --else
     --declare @SQL varchar(8000)
     --set @SQL = 'select * from OpenDataSource(''SQLOLEDB'',''Data Source='+@IP1+';User ID='+@Uid1+';Password='+@Pwd1+''').Agency.dbo.Property'
     --exec(@SQL)
     commit Transaction
      return 1
     rollback Transaction 
      return 2
    
     
    
    分类: SQL
    
  • 相关阅读:
    驱动02.按键
    驱动01.LED
    更换编译器(转载)
    2.使用线程方式获取标准输入
    1.使用非阻塞方式获取标准输入
    编写一个通用的Makefile文件
    layui 中 表单 会自动刷新的问题
    layui 中弹窗的时候关闭当前页面并刷新
    ssm框架中解决 sqlserver数据库的分页问题(用的是mybatis插件)
    关于 @SuppressWarnings 的注解
  • 原文地址:https://www.cnblogs.com/xiaofengfeng/p/1998539.html
Copyright © 2011-2022 走看看