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

libpqxxからpqxx::stateless_cursorクラスを使用する方法は?

    cnameへのコメントをありがとう@Eelke およびhold

    pqxx::stateless_cursorを機能させる方法を見つけました。よりクリーンな方法やより明白な方法があるかどうかはわかりませんが、例を次に示します。

    pqxx::work work( conn );
    pqxx::stateless_cursor<pqxx::cursor_base::read_only, pqxx::cursor_base::owned>
        cursor( work, "SELECT * FROM mytable", "mycursor", false );
    
    for ( size_t idx = 0; true; idx ++ )
    {
        pqxx::result result = cursor.retrieve( idx, idx + 1 );
        if ( result.empty() )
        {
            // nothing left to read
            break;
        }
    
        // Do something with "result" which contains a single
        // row in this example since we told the cursor to
        // retrieve row #idx (inclusive) to idx+1 (exclusive).
        std::cout << result[ 0 ][ "name" ].as<std::string>() << std::endl;
    }
    


    1. PostgreSQLを使用してすべてのデータベースを一覧表示する方法

    2. Knex.jsは、次の4つのクエリでセッションの再利用を強制します

    3. ORMを介したSQLAlchemyオブジェクトのロードが、生のMySQLdbカーソルを介した行よりも5〜8倍遅いのはなぜですか?

    4. SET NULL:SQLcl / SQL*PlusでNULL値が発生した場合に返される文字列を指定します