Delete OPENQUERY On Linked Server Fails When Variable Used As Condition

42 Views Asked by At

This works

Delete OPENQUERY ([MyLinkedServer], 'SELECT * FROM db_from_sap_for_bi.VBRK')

This works

DECLARE @DateDailyUpdate as nvarchar(10)
set @DateDailyUpdate= (select DateDailyUpdate from tblDateFilter Where TableName='VBRK')

DECLARE @TSQL varchar(8000), @VAR char(2)
SELECT @TSQL = 'select * FROM OPENQUERY([MyLinkedServer],''Select * FROM db_from_sap_for_bi.VBRK WHERE FKDAT >= ''''' + @DateDailyUpdate + ''''''')'
EXEC (@TSQL)

This throws error

SELECT @TSQL = 'Delete OPENQUERY([MyLinkedServer],''Select * FROM db_from_sap_for_bi.VBRK WHERE FKDAT >= ''''' + @DateDailyUpdate + ''''''')'

Error Message

The OLE DB provider "MSDASQL" for linked server "MyLinkedServer" could not delete from table "Select * FROM db_from_sap_for_bi.VBRK WHERE FKDAT >= '20230930'". There was a recoverable, provider-specific error, such as an RPC failure.

0

There are 0 best solutions below