这样子写: SELECT * FROM OPENQUERY([192.168.0.1],'SELECT * FROM [db].dbo.User_Func_List()') 没有问题。
这样子写:
SELECT a.*,b.*
FROM a,OPENQUERY([192.168.0.1],'SELECT * FROM [db].dbo.User_Func_List()') AS b
WHERE a.Id = b.Id
也没有问题。
但OPENQUERY不能传递参数。如果有参数,只能用
SET @sql = 'SELECT * FROM OPENQUERY([192.168.0.252],''SELECT * FROM
[User].dbo.func_GetData(' + @myUserId + ')'')';
EXEC(@sql);
这种方式。(见如何给OPENQUERY传递参数 )