导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

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

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
...全文
3 点赞 收藏 6
写回复
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
上面有怎么错误呢
回复
发动态
发帖子
MS-SQL Server
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告