Loading

How to pass more than one value in a parameter to be used in custom SQL

Data pubblicazione: Jul 20, 2023
Operazione

Come trasmettere più stringhe tramite un parametro in SQL personalizzato. Esiste un modo per trasmettere valori separati da virgole in un parametro e usarli in SQL personalizzato?

 

Fasi

La seguente query si applica a SQL per Oracle.

select * from tablename where name in (
select regexp_substr(<Parameters.Parameter1>,'[^,]+', 1, level) from dual
connect by regexp_substr(<Parameters.Parameter1>, '[^,]+', 1, level) is not null)


La seguente query si applica a SQL per Microsoft SQL Server.

SELECT *
FROM Test.dbo.tablename a
JOIN (  
(SELECT Number = ROW_NUMBER() OVER (ORDER BY Number),  
        Voce FROM (SELECT Number, Item = LTRIM(RTRIM(SUBSTRING(<Parameters.Parameter1>, Numero,  
        CHARINDEX(',', <Parameters.Parameter1> + ',', Number) - Number)))  
    FROM (SELECT ROW_NUMBER() OVER (ORDER BY s1.[object_id])  
        FROM sys.all_objects AS s1 CROSS APPLY sys.all_objects) AS n(Number)  
    WHERE Number <= CONVERT(INT, LEN(<Parameters.Parameter1>))  
        AND SUBSTRING(',' + <Parameters.Parameter1>, Number, 1) = ','  
    ) AS y)) x on a.colname = x.Item

Risorse aggiuntive
Di base, un parametro può accettare un solo valore alla volta.
Numero articolo Knowledge

001456708

 
Caricamento
Salesforce Help | Article