sql >> Database >  >> RDS >> Oracle

Een array met waarden verzenden naar de Oracle-procedure om te gebruiken in de WHERE IN-clausule

Een manier zou kunnen zijn om een ​​VARRAY . te gebruiken voor de PARAM_THAT_WILL_BE _USED_INSIDE_WHERE_IN parameter en gebruik het zoals hier beschreven
Ik weet echter niet zeker hoe ik het vanuit c# moet aanroepen.

Een andere manier is om varchar2 te gebruiken met een csv zoals je hebt aangegeven in je vraag, maar zonder dynamische sql, zoals deze:

CREATE PROCEDURE MY_TEST_PROC(
  CUR OUT SYS_REFCURSOR,
  PARAM_THAT_WILL_BE varchar2)
AS
BEGIN
  OPEN CUR FOR 
    SELECT * 
      FROM MY_TABLE 
     WHERE COL1 IN (
        select regexp_substr(PARAM_THAT_WILL_BE, '[^,]+',1,level) p
          from dual t
       connect by level <= regexp_count(PARAM_THAT_WILL_BE, ',') + 1
)
END;


  1. Hoe kan ik deze opmerkingen in een MySQL-dump verwijderen?

  2. Jenkins gebruiken met Kubernetes AWS, deel 3

  3. Prioriteiten implementeren in SQL (postgres)

  4. SSL of TLS inschakelen in Oracle Apps R12