sql >> データベース >  >> RDS >> Oracle

DapperおよびOracleClobタイプ

    この vijaysg /OracleDynamicParameters.cs を見つけました

    OracleDynamicParametersを作成します クラスはIDynamicParametersを実装します インターフェース。

    こちら 使い方です

    サンプル:

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

    そしてそれをdapperで呼び出す方法

    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;
    }
    

    タイプClobには、OracleDbType.Clobを指定するだけです。 パラメータを追加するとき。



    1. 年バンド間隔で行をグループ化

    2. MySQLクエリで最も近い数値を選択する

    3. postgreSQL関数呼び出しパケット

    4. データベース設計101:MySQLのパーティション