1
J'essaie de savoir est-il une valeur dans une requête dynamique, en ce moment je suis en utilisant cette solution:Existe-t-il un meilleur moyen de trouver une valeur spécifique dans une requête dynamique?
DECLARE
@SQL NVARCHAR(MAX)
, @ISLN NUMERIC(9,0) = '967272'
SET @SQL =
'SELECT *
FROM ITEM
LEFT OUTER JOIN SHIPMENT_DETAIL
ON ITEM.ITEM = SHIPMENT_DETAIL.ITEM
AND (SHIPMENT_DETAIL.COMPANY = ITEM.COMPANY OR ITEM.COMPANY IS NULL)
WHERE (SHIPMENT_DETAIL.warehouse = N''SH'')
ORDER BY ITEM.ITEM ASC'
SELECT @SQL = STUFF (
@SQL
, 8
, 1
, 'INTERNAL_SHIPMENT_LINE_NUM'
)
DECLARE @TEMP TABLE (ISLN NUMERIC(9,0))
INSERT INTO @TEMP (ISLN)
EXEC SP_SQLEXEC @SQL
IF EXISTS (SELECT 1 FROM @TEMP WHERE ISLN = @ISLN)
SELECT 1
ELSE
SELECT 0
SQL dynamique est généré par d'autres logiciels, donc je ne peux pas changer les données d'entrée .
Existe-t-il un meilleur moyen de trouver une valeur spécifique dans une colonne spécifique d'une requête dynamique?
'sp_sqlexec()' ??? –