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

PostgreSQLでINSERTまたはUPDATEの影響を受けるレコードの数を取得します

    私はこの質問がoooolllllldであり、私の解決策は間違いなく過度に複雑であることを知っていますが、それは私のお気に入りの種類の解決策です!

    とにかく、私は同じことをしなければならず、それを次のように機能させました:

    -- Get count from INSERT
    WITH rows AS (
        INSERT INTO distributors
            (did, dname)
        VALUES
            (DEFAULT, 'XYZ Widgets'),
            (DEFAULT, 'ABC Widgets')
        RETURNING 1
    )
    SELECT count(*) FROM rows;
    
    -- Get count from UPDATE
    WITH rows AS (
        UPDATE distributors
        SET dname = 'JKL Widgets'
        WHERE did <= 10
        RETURNING 1
    )
    SELECT count(*) FROM rows;
    

    最近のある日、私はPostgreSQLのWITH句にラブソネットを書くことに本当に取り掛かる必要があります...



    1. JavaでOracle間隔を表す方法

    2. SQLServerで曜日を取得する

    3. 外部キー制約で使用される列を変更できません

    4. mySQLクエリをcronジョブとして実行しますか?