在函数中实现跨数据库的查询?各位大虾帮帮忙呀,在线等,解决即给分!!!!!!!!!

xxbbww 2006-10-20 09:15:03
现有一个写好的函数,同时在base库中有一个corpdb的表,corpdb中dbname字段表示对应的数据在哪个数据库中。
现在要根据dbname中的值使用不同的数据库进行查询
...全文
182 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
marco08 2006-10-20
  • 打赏
  • 举报
回复
登記
splory 2006-10-20
  • 打赏
  • 举报
回复
up
xxbbww 2006-10-20
  • 打赏
  • 举报
回复
to: CSDMN(冒牌经理 V0.3) ( ) 信誉:100

在函数里面执行exec要报错
xxbbww 2006-10-20
  • 打赏
  • 举报
回复
我不是要远程打开服务器,只是在同一个服务器上换库,但是数据库名不确定要从表中取出来
CSDMN 2006-10-20
  • 打赏
  • 举报
回复
呵呵,想在函数里实现通用有点缘木求鱼

如果不是想实现通用,我想你在每个库都建立相同的函数,然后这么调用:

declare @dbname varchar(50)
select @dbname=dbname from base..corpdb where id=...
exec('select '+@dbname+'.dbo.fn_name(paras) as colname')
--or:
--exec('select '+@dbname+'.dbo.fn_name(paras) as colname from ...')
--or:
--exec('select ... from '+@dbname+'.dbo.fn_name(paras)')



子陌红尘 2006-10-20
  • 打赏
  • 举报
回复
尝试这样的方式:

select * from openrowset('SQLOLEDB'
,'sql服务器名';'用户名';'密码'
,数据库名.dbo.表名)
allright_flash 2006-10-20
  • 打赏
  • 举报
回复
up
xxbbww 2006-10-20
  • 打赏
  • 举报
回复
最后决定使用存储过程来实现,谢谢各位,结帖了

27,579

社区成员

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

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