如何在存储过程中的打开查询中添加变量
How to add a variable in the open query in a stored procedure
我有一个接收商店 ID 参数的存储过程。我需要将该变量添加到 openquery tsql 脚本中,我无法做到这一点。在我的代码中查看 @var 那就是变量需要工作的地方
我试图引用这个 https://support.microsoft.com/en-us/help/314520/how-to-pass-a-variable-to-a-linked-server-query 但我无法让它工作
SELECT x.*
FROM (
SELECT tl.title_log_sts_cd
,tl.ro_vin
,tl.ro_store_id
,ll.CurrentLoanStatus
,bc.vin
,bc.BorrowerId
,ll.DisplayLoanNumber
,CONVERT(DATE, CONVERT(VARCHAR(10), ll.CreateDateKey, 7)) LoanDate
,CONCAT (
bb.LastName
,','
,bb.FirstName
) CustomerName
,ll.CurrentPrincipalBalanceAmt + ll.CurrentFeeBalanceAmt TotalDue
FROM OPENQUERY(TLXPRD, 'SELECT * FROM TITLE_LOG
WHERE title_log_sts_cd in (''Ready to Send to DMV'', ''Sent to DMV'')
and ro_store_id =@VAR ') AS tl
JOIN EIS.Borrower.Collateral bc WITH (NOLOCK) ON tl.ro_vin = bc.Vin
LEFT JOIN eis.loan.loan ll WITH (NOLOCK) ON ll.BorrowerId = bc.BorrowerId
AND convert(DATE, tl.created_ts) = CONVERT(DATE, CONVERT(VARCHAR(10), ll.CreateDateKey, 7))
LEFT JOIN EIS.Borrower.Borrower BB ON bb.borrowerid = ll.BorrowerId
) AS x
ORDER BY vin
预计从oracle获取一些数据加入tsql
我没有完全明白你想要做什么,但我希望这就是你要找的。
FROM OPENQUERY(TLXPRD, concat( 'SELECT * FROM TITLE_LOG
WHERE title_log_sts_cd in (''Ready to Send to DMV'', ''Sent to DMV'')
and ro_store_id =', cast(@VAR as nvarchar(50) ) ))
基本上,您的字符串中有您的变量,但您希望将其作为一个值。
所以我们得到值并将其放入您的字符串中。
我有一个接收商店 ID 参数的存储过程。我需要将该变量添加到 openquery tsql 脚本中,我无法做到这一点。在我的代码中查看 @var 那就是变量需要工作的地方
我试图引用这个 https://support.microsoft.com/en-us/help/314520/how-to-pass-a-variable-to-a-linked-server-query 但我无法让它工作
SELECT x.*
FROM (
SELECT tl.title_log_sts_cd
,tl.ro_vin
,tl.ro_store_id
,ll.CurrentLoanStatus
,bc.vin
,bc.BorrowerId
,ll.DisplayLoanNumber
,CONVERT(DATE, CONVERT(VARCHAR(10), ll.CreateDateKey, 7)) LoanDate
,CONCAT (
bb.LastName
,','
,bb.FirstName
) CustomerName
,ll.CurrentPrincipalBalanceAmt + ll.CurrentFeeBalanceAmt TotalDue
FROM OPENQUERY(TLXPRD, 'SELECT * FROM TITLE_LOG
WHERE title_log_sts_cd in (''Ready to Send to DMV'', ''Sent to DMV'')
and ro_store_id =@VAR ') AS tl
JOIN EIS.Borrower.Collateral bc WITH (NOLOCK) ON tl.ro_vin = bc.Vin
LEFT JOIN eis.loan.loan ll WITH (NOLOCK) ON ll.BorrowerId = bc.BorrowerId
AND convert(DATE, tl.created_ts) = CONVERT(DATE, CONVERT(VARCHAR(10), ll.CreateDateKey, 7))
LEFT JOIN EIS.Borrower.Borrower BB ON bb.borrowerid = ll.BorrowerId
) AS x
ORDER BY vin
预计从oracle获取一些数据加入tsql
我没有完全明白你想要做什么,但我希望这就是你要找的。
FROM OPENQUERY(TLXPRD, concat( 'SELECT * FROM TITLE_LOG
WHERE title_log_sts_cd in (''Ready to Send to DMV'', ''Sent to DMV'')
and ro_store_id =', cast(@VAR as nvarchar(50) ) ))
基本上,您的字符串中有您的变量,但您希望将其作为一个值。 所以我们得到值并将其放入您的字符串中。