Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Truyền mảng cho thủ tục Oracle từ c #

  1. Xác định kiểu mảng và thủ tục:

    CREATE or replace PACKAGE Testpackage AS 
      TYPE Areas_t is table of VARCHAR(100) index by BINARY_INTEGER;
      PROCEDURE TESTPROCEDURE(Areas IN Areas_t);       
    END Testpackage; 
    
  2. Quy trình C #:

    public void InsertQuestion(IEnumerable<string> area_list)
    {
        var connect = new OracleConnection("YOUR CONNECTION STRING");
    
        var command = new OracleCommand("BEGIN Testpackage.Testprocedure(:Areas); END;", connect);
    
        connect.Open();
    
        var arry = command.Parameters.Add("Areas", OracleDbType.Varchar2);
    
        arry.Direction = ParameterDirection.Input;
        arry.CollectionType = OracleCollectionType.PLSQLAssociativeArray;
        arry.Value = area_list.ToArray();
        arry.Size = area_list.Count();
        arry.ArrayBindSize = area_list.Select(_ => _.Length).ToArray();
        arry.ArrayBindStatus = Enumerable.Repeat(OracleParameterStatus.Success, area_list.Count()).ToArray();
    
        command.ExecuteNonQuery();
    
        connect.Close();
    }
    



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Gọi thủ tục Oracle với tham số kiểu bộ sưu tập PL / SQL qua .NET

  2. Làm thế nào để tạo một chuỗi Oracle bắt đầu với giá trị tối đa từ một bảng?

  3. Cách lặp qua phạm vi ngày trong PL / SQL

  4. Sống sót sau một cuộc kiểm tra Oracle

  5. Làm cách nào để lấy thông tin về chủ sở hữu chỉ mục và bảng trong Oracle?