Oracle
 sql >> база данни >  >> RDS >> Oracle

проблем с използването на параметрите на Oracle в SELECT IN

За да предадете набор от стойности, трябва да използвате таблици или типове масиви на Oracle.

Първо създавате тип таблица (напр. за NUMBER):

CREATE TYPE number_table AS TABLE OF NUMBER; 

Когато създавате параметъра за заявката, декларирайте го като асоциативен PL/SQL масив:

OracleParameter param1 = new OracleParameter(); 
param1.OracleDbType = OracleDbType.Int32; 
param1.CollectionType = OracleCollectionType.PLSQLAssociativeArray; 

След това задайте някои стойности:

param1 = new int[] { 3857, 3858, 3863, 3285 }; 

И вашата заявка се нуждае от предаване:

SELECT * FROM tablename a 
where a.flokkurid in (TABLE(CAST(:manyNumbers AS number_table)))
order by sjodategund, rodun 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Проверки на валидна дата в Oracle

  2. Идентифициране на съдържанието на ASH последователност в RAC

  3. Как да създадете директория в Oracle?

  4. Име на SQL колона, същото като име на променлива PL/SQL - Как може да се направи това в оператор select?

  5. Как да извика процедура без параметър out като тип таблица от Java клас