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

ADO.NET/C# के माध्यम से Oracle (ODP.NET 10g) में ऐरे/टेबल पैरामीटर का उपयोग कैसे करें?

यह ODP.NET (odac) के लिए कार्य करता है:

आपका Oracle पैकेज इस प्रकार सेटअप होगा:

CREATE OR REPLACE package SOME_PACKAGE as
  ...
  type t_number_tab is table of number index by pls_integer;
  ...
  procedure ins_test(i_id_tab in t_number_tab, o_inserted out number);

end SOME_PACKAGE;


CREATE OR REPLACE package body SOME_PACKAGE as

    procedure ins_test(i_id_tab in t_number_tab, o_inserted out number) is
    begin
        -- inserts all records to test table based on incoming table of ids
        forall i in i_id_tab.first .. i_id_tab.last
            insert into TEST_TAB
            (id, val1, val2)
            select id,val1,val2
            from main_tab
            where id = i_id_tab(i);

        o_inserted := SQL%ROWCOUNT;

        commit;
    exception
        when others then
            rollback;
            raise;
    end ins_test;
...
end SOME_PACKAGE;

तब आपका C# कोड इस तरह दिखेगा:

string connStr = "User Id=xxx;Password=xxxx;Data Source=xxxxx;";
OracleConnection _conn = new OracleConnection(connStr);
_conn.Open();

OracleCommand cmd = _conn.CreateCommand();
cmd.CommandText = "some_package.ins_test";
cmd.CommandType = CommandType.StoredProcedure;

OracleParameter p1 = new OracleParameter();
OracleParameter p2 = new OracleParameter();

p1.OracleDbType = OracleDbType.Decimal;
p1.Direction = ParameterDirection.Input;
p2.OracleDbType = OracleDbType.Decimal;
p2.Direction = ParameterDirection.Output;

p1.CollectionType = OracleCollectionType.PLSQLAssociativeArray;
p1.Value = new int[3] { 1, 2, 3 };
p1.Size = 3;

cmd.Parameters.Add(p1);
cmd.Parameters.Add(p2);

cmd.ExecuteNonQuery();



  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. डेटाबेस खोज में NULL मान प्रदर्शन को कैसे प्रभावित करते हैं?

  3. R12.2 अपग्रेड पार्ट -2 (R12.2.0 के लिए मुख्य अपग्रेड ड्राइवर) में चरण दर चरण अपग्रेड प्रक्रिया

  4. Oracle डेटाबेस में डेटाटाइम मान से मिनट प्राप्त करने के 2 तरीके

  5. Oracle डाटाबेस परिवर्तन अधिसूचना