求一跨数据库查询的存储过程

xiongyu2006 2012-10-08 05:06:53
有俩个数据库a,b。其中a数据库中有两张表cities和mapper_Cities,数据如下:

cities:
=============
citycode cityname_en updatedate
1CHI Chittaurgarh 2009-10-5 10:32:07
1MON Aachen DE 2010-10-5 10:32:07
1NEW Aalter 2011-10-5 10:32:07
STA San Fernando 2012-10-5 10:32:07


mapper_Cities:
================
Code Name
1BAD Beijing
1CHI ShangHai
1NEW GuangZhou


数据库b中有一张表gta_city,数据如下:

gta_city:
================
cityCode cityName downloadDate
AORE Santo-Aore Island 2012-7-24 10:21:39
BJ Beijing 2012-8-24 10:21:39
SH ShangHai 2012-9-24 10:21:39
GZ GuangZhou 2012-10-24 10:21:39


现在要求按照这样的逻辑取出数据并且取出的结果要能进行分页,要传俩个分页参数进去的,一个offset(分页开始行数),pageSize(每页的记录数)。
1,在gta_city表里中取出cityName列的数据与cities表里面的cityName_en列的数据不相等并且gta_city表里面的Updatedate列的时间大于cities表里面的downloadDate列的数据
2,在gta_city表里中取出cityCode列的数据不存在于mapper_Cities的Code列的数据
...全文
167 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
叶子 2012-10-08
  • 打赏
  • 举报
回复
错误提示的是两数据库的字符集不一致
专注or全面 2012-10-08
  • 打赏
  • 举报
回复

select *
from (SELECT *
FROM OpenDataSource('sqloledb', 'Data Source= "127.0.0.1 ";User ID=sa;Password=*****') . [ bd1] . [ dbo ] . [ Person ]) A,
(SELECT *
FROM OpenDataSource('sqloledb', 'Data Source= "127.0.0.1 ";User ID=sa;Password=*****')
.db2. [ dbo ] . [ Person1 ]) B

where A.id = B.id



跨库操作不同的表
人生无悔 2012-10-08
  • 打赏
  • 举报
回复
两库的字符集不一致

还有表前面是架构名或所有者不是数据库名,如[Server].[DataBase].[Owner].[TableName],如果是同Server,则Server可略
xiongyu2006 2012-10-08
  • 打赏
  • 举报
回复
我这样连接查询老是报错哦。
SELECT * FROM [hotel_hk3t].dbo.gta_hotel WHERE itemName NOT IN(SELECT hotelname_en FROM [hotel_nh_new].[FareAdmin].hotel);

[SQL]

SELECT * FROM [hotel_hk3t].dbo.gta_hotel WHERE itemName NOT IN(SELECT hotelname_en FROM [hotel_nh_new].[FareAdmin].hotel)
[Err] 42000 - [SQL Server]Cannot resolve the collation conflict between "Chinese_Taiwan_Stroke_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation.
快溜 2012-10-08
  • 打赏
  • 举报
回复
跨库查询简单,只需要在查询的表前面加数据库及架构名即可 例如 数据库名.dbo.表名
分页可以搜通用的存储过程。
快溜 2012-10-08
  • 打赏
  • 举报
回复
跨库查询简单,只需要在查询的表前面加数据库及架构名即可 例如 数据库名.dbo.表名
分页可以搜通用的存储过程。

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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