update b set b.字段=a.字段 from 表名 a inenr join [dbname].[架构名(默认为dbo)].[表名] b on a.xx=b.xx where 子句
要复制的字段是passwd 、字段是users 如你的答案是不是这样? update users_b set passwd_b=passwd_a from users_b a inenr join [dbname].[dbo].[users_a] users_a on passwd_a=passwd_b我把A的复制到B的字段和表名称都相同的
如果是两个数据库是在一个服务器,按照一楼的SQL语句可以实现楼主的要求 一楼有一个错的地方: update b set b.字段=a.字段 from [dbname].[架构名(默认为dbo)].表名 a inenr join [表名] b on a.xx=b.xx where 子句在b所在数据库里面执行,那么就要标明a表所在的数据库如果是两个数据库不在同一个服务器,在数据库名的前面,加上OPENDATASOURCE 如: update b set b.字段=a.字段 from OPENDATASOURCE('SQLOLEDB','Data Source=XXX;User ID=XXX;Password=XXX' ).[dbname].[架构名(默认为dbo)].表名 a inenr join [表名] b on a.xx=b.xx where 子句
前面的inenr join 写错了 应为:inner join 例子: id,name,sex为表的字段,有多少个字段就加上去吧,id为主键,不能复制 update b set b.name=a.name,b.sex=a.sex from [MyDb].[dbo].tbl1 a inner join [tbl2] b on a.ID=b.ID --where 子句
set b.字段=a.字段
from 表名 a inenr join [dbname].[架构名(默认为dbo)].[表名] b on a.xx=b.xx
where 子句
update users_b set passwd_b=passwd_a from users_b a inenr join [dbname].[dbo].[users_a] users_a on passwd_a=passwd_b我把A的复制到B的字段和表名称都相同的
一楼有一个错的地方:
update b
set b.字段=a.字段
from [dbname].[架构名(默认为dbo)].表名 a inenr join [表名] b on a.xx=b.xx
where 子句在b所在数据库里面执行,那么就要标明a表所在的数据库如果是两个数据库不在同一个服务器,在数据库名的前面,加上OPENDATASOURCE
如:
update b
set b.字段=a.字段
from OPENDATASOURCE('SQLOLEDB','Data Source=XXX;User ID=XXX;Password=XXX'
).[dbname].[架构名(默认为dbo)].表名 a inenr join [表名] b on a.xx=b.xx
where 子句
写错了
应为:inner join
例子: id,name,sex为表的字段,有多少个字段就加上去吧,id为主键,不能复制
update b
set b.name=a.name,b.sex=a.sex
from [MyDb].[dbo].tbl1 a inner join [tbl2] b on a.ID=b.ID
--where 子句