如何使用链接服务器中的存储过程将int传递给OPEN QUERY?

问题描述 投票:0回答:1

我正在尝试使用OPEN QUERY为链接服务器创建存储过程。我对Where子句有疑问。

我尝试将用户ID的where子句转换为varchar(10)

DECLARE @user_id as bigint = 32

SELECT * FROM OPENQUERY(LMSBUILDER, 
  'SELECT       
     cc.id,cc.user_id,cc.title,cc.library_id
     ,cc.parameters,cc.filtered,cc.embed_type
     ,ll.name, ll.title as lib_title, ll.major_version
     ,ll.minor_version,ll.patch_version,ll.runnable
     ,ll.restricted,ll.fullscreen,ll.embed_types
     , ll.semantics 
   FROM 
      coursebuilder.wp_h5p_contents as cc 
      INNER JOIN coursebuilder.wp_h5p_libraries as ll 
        ON cc.library_id=ll.id 
   WHERE 
     cc.library_id IN (35,22, 34) 
     AND cc.user_id = '' + CONVERT(NVARCHAR(10), @user_id) + ''')

它应该返回所有结果,但是我只有一个空值。每当我尝试在mysql中运行它时,它都会返回值

sql sql-server linked-server
1个回答
0
投票

此重复的link已解决您的问题。

Microsoft支持How to pass a variable to a linked server query也可以解决您的问题。

© www.soinside.com 2019 - 2024. All rights reserved.