【发布时间】:2013-07-06 03:46:11
【问题描述】:
我正在尝试使用 SQL Server 数据库中的链接服务器查询 MySQL 数据库。我创建了一个参数化的动态 SQL 查询,当我运行它时,它不会出错,但它返回 0 行。
如果我对参数进行硬编码,它会为我请求的行返回数据。
当涉及到参数化查询时,处理 MySQL 有什么技巧吗?
此语法返回 0 行:
DECLARE @SQL NVARCHAR(MAX),
@Params VARCHAR(MAX)
SET @SQL = N'SELECT * FROM OPENQUERY(MYSQL, ''SELECT LoanNumber
FROM plms.vw__bid_dd_overlay
WHERE LoanNumber IN (@MyParams);'')'
SET @Params = '1000001289,1000001294,1000001296,1000001303,1000001304,1000001306,1000001308';
EXEC sp_executesql @SQL, N'@MyParams VARCHAR(MAX)', @Params
这会返回 7:
DECLARE @SQL NVARCHAR(MAX)
SET @SQL = N'SELECT * FROM OPENQUERY(MYSQL, ''SELECT LoanNumber
FROM plms.vw__bid_dd_overlay
WHERE LoanNumber IN (1000001289,1000001294,1000001296,1000001303,1000001304,1000001306,1000001308);'')'
EXEC sp_executesql @SQL;
任何帮助将不胜感激。
【问题讨论】:
标签: mysql sql-server dynamic linked-server parameterized-query