我正在使用openquery来获取数据。由于我的查询长度超过8000个字符,因此我使用这种方法:
DeclARE @myStatement VARCHAR(MAX)
SET @myStatement 'SELECT * FROM Employee...'
EXECUTE (@myStatement) AT [MyLinkedServer]
知道无法在视图中使用变量,我尝试使用一个用户定义函数,该函数返回如下表:
CREATE FUNCTION dbo.EmployeeDetailsForHR
(@myStatement VARCHAR(MAX))
RETURNS TABLE
AS RETURN(EXECUTE (@myStatement) AT [MyLinkedServer]);
SELECT *
FROM dbo.EmployeeDetailsForHR('SELECT * FROM Employee...');
但是我的CREATE FUNCTION不正确。我的情况下正确的语法是什么?