有多个数据库,分别为A、B、C、D、……A库中的TableA结构如下TableA
------------------------
ID | Number | DataBase
------------------------
1 | 25 | B
------------------------
2 | 12 | C
------------------------
3 | 25 | D
------------------------
4 | 10 | E这时我要在B库中执行一段Updata的SQL语句,更新B库中的字段值,但有个条件,就是判断一下B库在A库的TableA表中的Number是不是等于25,这个句语要怎么写呢?
------------------------
ID | Number | DataBase
------------------------
1 | 25 | B
------------------------
2 | 12 | C
------------------------
3 | 25 | D
------------------------
4 | 10 | E这时我要在B库中执行一段Updata的SQL语句,更新B库中的字段值,但有个条件,就是判断一下B库在A库的TableA表中的Number是不是等于25,这个句语要怎么写呢?
解决方案 »
- 疯了,求sqlcmd的详细执行方式
- 关于这个帖子的新的办法。。
- 求解:mssql的问题.怎么样把一个表格中的某一字段的数据替换另一个表格中的某一字段,
- 请教个触发器的问题,一个表,两个字段,更新其中一个的时候,在触发器中根据这个字段去自动改另一个字段的值,如何写?
- SQL Server 2005 表中索引的填充规范问题?不懂的走开!!!
- 新人求助,ASP.NET关于网站流量统计的数据库设计
- 请问,怎么不使用临时表实现下面那段代码的功能啊,急
- 各位请帮忙.....关于跟踪数据库中的每个表的数据改变情况?........
- 在win2003的服务器上装sql2000,到启动画面,总自动退出
- 请问怎样下载和安装JDBC for MS SQL SERVER?那里这样的文章能介绍介绍吗?
- 关于VC++的
- 存储过程计算的,问题
set ...
from b.dbo.tableA ba , a.dbo.tableA aa
where ba.关键字 = aa.关键字 and aa.number = 25
if exists (select 1 from [A].[dbo].[TableA] where DataBase='B' and Number=25)
begin
update .............
end
select @number=number from tbl
if @number=25
updtae ......
else
update......关于库数据库的操作:
二 分布式跨库访问
1 跨数据库访问
第一种方式
SELECT * FROM OPENDATASOURCE(
'SQLOLEDB',
'Data Source=远程ip;User ID=sa;Password=密码'
).库名.dbo.表名
WHERE 条件
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigureupdate a set a.xx=@xx from 表 a, (select id from OPENDATASOURCE('SQLOLEDB','Data Source=127.0.0.1;User ID=sa;Password=sa').数据库名称.dbo.表 where Number=25) c
where a.id=c.id
2 在sql server组->服务->安全性->链接服务器下建立一个具有别名的链接服务器。然后通过以下方式访问:
SELECT * FROM [链接服务器名].库名.dbo.表名
WHERE 条件
------------------------
ID | Number | DataBase
------------------------
1 | 25 | B
------------------------
2 | 12 | C
------------------------
3 | 25 | D
------------------------
4 | 10 | E这时我要在B库中执行一段Updata的SQL语句,更新B库中的字段值,
但有个条件,就是判断一下B库在A库的TableA表中的Number是不是等于25,这个句语要怎么写呢?
update tb set 字段=... from A.TABLEA,B.TABLEB where A.TABLEA.字段1=B.TABLEB.字段1 and A.TABLEA.Number=25