[英]Openquery for serverlink exceedes 8000 characters
我想创建一个视图如下:
CREATE view [dbo].[test] as
SELECT TEST.*
FROM OPENQUERY([MyServerLink],'LONGSELECTQUERY') as TEST;
SELECT语句超过 8000 个字符,这给了我这个错误:
SQL 错误 [103] [S0001]:以“SELECT...”开头的字符串太长。 最大长度为 8000。
我怎样才能克服它并创造我的观点?
可以在链接服务器上创建临时表,然后使用临时表
例子(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 服务器,您可以创建一个 select Server.Database.Schema.Table
:
SELECT
/******/
FROM MyServerLink.master.dbo.xxx x
join MyServerLink.master.dbo.yyy y /*****/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.