怎样跨数据库进行这样的操作?

Symsan 2003-12-19 09:50:53
其中 列b,列a属于同一个表里的,

当列a = 数据库1 里的 表1 里的 列1
使数据库1 里的 表1 里的 列2 = 列b

update set 数据库1..表1.列1 = 列a from 表a
where 数据库1..表1.列2 = 列b
...全文
23 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
LoveSQL 2003-12-19
  • 打赏
  • 举报
回复
建议使用联接服务器,这样就可以直接操作另一个数据库的表了
如;
select fieldname from database1.dbo.tablename
Symsan 2003-12-19
  • 打赏
  • 举报
回复
ename,cname 是表 INVESTOR里的

update INVESTOR set ename = dgll..qyzl.qymc
where cname=dgll..qyzl.ksmc

错误信息:
服务器: 消息 107,级别 16,状态 3,行 1
列前缀 'dgll..qyzl' 与查询中所用的表名或别名不匹配。
服务器: 消息 107,级别 16,状态 1,行 1
列前缀 'dgll..qyzl' 与查询中所用的表名或别名不匹配。
zclxyh 2003-12-19
  • 打赏
  • 举报
回复
insert into openrowset('sqloledb','目的服务器名';'sa';'',目的数据库.dbo.表)
select * from 源数据库..表


--或用链接服务器:
--创建链接服务器
exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','远程服务器名'
exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'sa','密码'
exec sp_serveroption 'srv_lnk','rpc out','true' --这个允许调用链接服务器上的存储过程
go

--查询示例
select * from srv_lnk.数据库名.dbo.表名

--导入示例
select * into 表 from srv_lnk.数据库名.dbo.表名

go
--后删除链接服务器
exec sp_dropserver 'srv_lnk','droplogins'



dlpseeyou 2003-12-19
  • 打赏
  • 举报
回复
update 表a set 数据库1..表1.列1 = 列a
where 数据库1..表1.列2 = 列b
dlpseeyou 2003-12-19
  • 打赏
  • 举报
回复
update set 数据库1..表1.列1 = 列a from 表a
where 数据库1..表1.列2 = 列b
update 后必须有一个数据库名
Symsan 2003-12-19
  • 打赏
  • 举报
回复
上面有怎么错误呢

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧