Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Elegancki i typ Oracle Clob

Znalazłem ten vijaysg / OracleDynamicParameters.cs

Tworzy OracleDynamicParameters klasa implementuje IDynamicParameters interfejs.

Tutaj jak tego używać

Próbka:

PROCEDURE GetUserDetailsForPIDM (i_id    IN   NUMBER,
                o_user           OUT SYS_REFCURSOR,
                o_roles          OUT SYS_REFCURSOR);

i jak to nazwać eleganckim

public static User GetUserDetailsByID( int ID ) {
    User u = null;
    using ( OracleConnection cnn = new OracleConnection( ConnectionString ) ) {
        cnn.Open( );
        var p = new OracleDynamicParameters( );
        p.Add( "i_id", ID );
        p.Add( "o_user", dbType:OracleDbType.RefCursor, direction: ParameterDirection.Output );
        p.Add( "o_roles", dbType: OracleDbType.RefCursor, direction: ParameterDirection.Output );

        using ( var multi = cnn.QueryMultiple( "PKG_USERS.GetUserDetailsForID", param: p, commandType: CommandType.StoredProcedure ) ) {
            u = multi.Read<User>( ).Single( );
            u.Roles = multi.Read<UserRole>.ToList( );
        }
    }
    return u;
}

Dla typu Clob wystarczy określić OracleDbType.Clob podczas dodawania parametru.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd składni w instrukcji SQL słowo kluczowe „WITH” zgłaszające wyjątek

  2. Obraz w formacie daty Oracle kończy się przed konwersją całego ciągu wejściowego

  3. Podczas wykonywania skryptu w SQLPlus, zamiast wyniku wypisuje sekwencję liczb

  4. Opcje formatowania SQLcl (Oracle)

  5. Porównania Oracle NUMBER