我在网络服务中调用的数据库 db_customers_ws 中有一个SP get_customer_info ,
我需要从另一个数据库 db_customers_data 中获取man的所有电话号码,即0..N。
[db_customers_ws]。[dbo]。[get_human_info] :
CREATE PROCEDURE get_customer_info
...
select col1
,col2
,getDataFromAnotherDatabase(@id)
我想将数据作为连接字符串,所以我进行函数调用
[db_customers_ws]。[dbo]。[getDataFromAnotherDatabase] :
CREATE FUNCTION [dbo].[getDataFromAnotherDatabase]
returns nvarchar(4000)
as...
@proc = [get_data_db_server] + '.[myproc]' -- [db_customers_data.[dbo].[get_phone_numbers_string]
exec @proc
@arg1=@arg1,
@arg2='meh'
错误号:557错误消息:只能在函数内执行函数和某些扩展存储过程。错误严重性:16错误状态:2错误行:81错误过程: get_customer_info
你能否告诉我一些解决错误的方法?
如果不可能,也许您已经知道如何通过其他方式实现这一结果?
谢谢
答案 0 :(得分:0)
你可以描述myproc函数吗?
您似乎需要在两个数据库之间进行连接。 如果你这样做的话,这不是问题:
CREATE PROCEDURE get_customer_info
...
select A.col1
,A.col2
,B.Phone1 + B.Phone2
from db_customers_ws.dbo.get_human_info A
join db_customers_data.dbo.UNKNOWNTABLENAME B
on A.EmpoyeeID = B.EmpoyeeID
希望它有效......