--更新本地表 update b set b.列A=a.列A from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)as a inner join 本地表 b on a.column1=b.column1
--openquery用法需要创建一个连接
--首先创建一个连接创建链接服务器 exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' --查询 select * FROM openquery(ITSV, 'SELECT * FROM 数据库.dbo.表名 ') --把本地表导入远程表 insert openquery(ITSV, 'SELECT * FROM 数据库.dbo.表名 ') select * from 本地表 --更新本地表 update b set b.列B=a.列B FROM openquery(ITSV, 'SELECT * FROM 数据库.dbo.表名 ') as a inner join 本地表 b on a.列A=b.列A
我看错了,sorry
这个问题第5个回答:
楼上两位老大,能否就我的问题写个具体的SQL语句?只是插入数据就行了,谢谢了
这个问题第6个回答:
INSERT INTO a from (select b.fld1,b.fld2 from b bb inner join c cc on bb.fld1=cc.fld1) 试试看行不 要么你可以用 SqlBulkCopy DesBulkOp; DesBulkOp = new SqlBulkCopy(DesConString, SqlBulkCopyOptions.UseInternalTransaction); DesBulkOp.BulkCopyTimeout = 500000000; DesBulkOp.DestinationTableName = sTableName; DesBulkOp.WriteToServer(dt); dt是你读出来的b和c的要插入的table sTableName是a表
我有两个server server1: 192.168.4.230 dbname: new1209 创建a: CREATE TABLE A(fld1 INT,fld2 VARCHAR(20),fld3 VARCHAR(20)); insert into a values(1,'a','d'); insert into a values(2,'b','e'); insert into a values(3,'c','f');