我正在针对远程SQL Server执行以下查询:
EXEC LinkedServer.MyDatabase..sp_executesql N'SELECT sys.fn_cdc_get_min_lsn(''dbo_td_coater_rga_new'');';
查询工作正常,但我不确定如何捕获查询结果并将其存储到变量中。例如,这不起作用:
Declare @begin_lsn binary(10)
Set @begin_lsn = EXEC LinkedServer.MyDatabase..sp_executesql N'SELECT sys.fn_cdc_get_min_lsn(''dbo_td_coater_rga_new'');';
答案 0 :(得分:2)
您可以将变量传递给sp_executesql
。您必须将其声明为OUTPUT
才能收到值:
Declare @begin_lsn binary(10)
EXEC LinkedServer.MyDatabase..sp_executesql N'SELECT @begin_lsn = sys.fn_cdc_get_min_lsn(''dbo_td_coater_rga_new'');',
N'@begin_lsn binary(10) OUTPUT', @begin_lsn OUTPUT