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

pg-promiseヘルパーを使用して挿入クエリ結果値を返す方法

    RETURNING...を追加するだけです 生成されたクエリの句:

    var h = this.collection.$config.pgp.helpers;
    var query = h.insert(values, null, 'branch') + 'RETURNING pk_branchID';
    
    return this.collection.one(query);
    

    挿入を自動的に生成する場合は、そこに大きなオブジェクトが必要です。名前空間ヘルパー 複数行の挿入/更新を生成するときに主に評価されます。この場合、 ColumnSet 静的変数として使用されます:

    var h = this.collection.$config.pgp.helpers;
    var cs = new h.ColumnSet(['col_a', 'col_b'], {table: 'branch'});
    var data = [{col_a: 1, col_b: 2}, ...];
    
    var query = h.insert(data, cs) + 'RETURNING pk_branchID';
    
    return this.collection.many(query);
    

    この場合、.many を実行することに注意してください。 、1つ以上の行/結果が返されると予想されるため。これは、IDの配列に変換することもできます:

    return this.collection.map(query, [], a => a.pk_branchID);
    

    参照: Database.map




    1. 中程度の信頼モードの.NET2.0とMySql

    2. MySQL平日/週末カウント-パートII

    3. 1つのSQLクエリで2つのテーブルをマージし、日付値を一意にします

    4. MySQLでSSL証明書のPEMファイルのパスワードの挿入を自動化できますか?