我正在尝试使用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中运行它时,它都会返回值
此重复的link已解决您的问题。
Microsoft支持How to pass a variable to a linked server query也可以解决您的问题。