Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

.NET के माध्यम से PL/SQL संग्रह प्रकार पैरामीटर के साथ Oracle प्रक्रिया को कॉल करना

ODP.NET के माध्यम से प्रक्रिया कॉल केवल सहयोगी सरणियों का समर्थन करता है, अर्थात INDEX BY ... के साथ , नेस्टेड टेबल समर्थित नहीं हैं।

एक उपाय यह है कि आप अपनी ओरल प्रक्रिया में कनवर्ट करें:

CREATE OR REPLACE PACKAGE test_package_gkeu IS

    TYPE test_type IS TABLE OF NUMBER;    
    TYPE test_type_associative IS TABLE OF NUMBER INDEX BY INTEGER;

PROCEDURE TEST1 (pvTest IN test_type_associative ) IS

v test_type := test_type();
BEGIN
   v.Extend(pvTest.COUNT);
   for i in pvTest.First..pvTest.Last loop
       v(i) := pvTest(i)
   end loop;

select *
into ...
from receiver r
where r.receiverid MEMBER OF (v);

END;

DML स्टेटमेंट के लिए इस पर भी विचार करें:

FORALL i IN INDICES OF pvTest 
    INSERT INTO MY_TABLE (COL_A)
    VALUES (pvTest(i));

or 

FORALL i IN INDICES OF pvTest 
    DELETE FROM receiver 
    WHERE receiverid  = pvTest(i);



  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. SQL 'कहाँ' खंड में शर्तों का निष्पादन क्रम

  3. ADO.NET से Oracle को कॉल करते समय एकाधिक चयन कथनों को बैचें

  4. ऑरैकल में अस्थायी टेबलस्पेस को कैसे कम करें?

  5. Oracle में डेटाबेस स्कीमा को डंप फ़ाइल में कैसे निर्यात करें