SQL Server 打开的serverlink查询超过8000个字符

xqkwcwgp  于 2022-11-28  发布在  其他
关注(0)|答案(1)|浏览(209)

我想创建一个视图,如下所示:

CREATE view [dbo].[test] as 
SELECT TEST.* 
FROM OPENQUERY([MyServerLink],'LONGSELECTQUERY') as TEST;
  • SELECT* 语句的长度超过8000个字符,因此出现以下错误:

SQL错误[103] [S0001]:以“SELECT ...”开头的字符串太长。最大长度为8000。
我怎样才能克服这一点并创造我的观点呢?

whlutmcx

whlutmcx1#

您可以在链接服务器上创建一个临时表,然后使用该临时表
示例(MySQL)

EXEC('DROP TEMPORARY TABLE IF EXISTS TEMP_LONGSELECTQUERY') AT MyServerLink
EXEC('
CREATE TEMPORARY TABLE TEMP_LONGSELECTQUERY AS
    LONGSELECTQUERY
') AT MyServerLink
SELECT * FROM OPENQUERY(MyServerLink, 'SELECT * FROM TEMP_LONGSELECTQUERY')

但是,如果链接的服务器也是MSSQL Server,您可以参照Server.Database.Schema.Table

SELECT
    /******/
FROM MyServerLink.master.dbo.xxx x
join  MyServerLink.master.dbo.yyy y /*****/

相关问题