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

前のDELETEの影響を受けた行数を含む変数? (関数内)

    Oracle PL / SQLでは、削除/挿入/更新された行の数を格納するシステム変数は次のとおりです。

    SQL%ROWCOUNT
    

    DELETE / INSERT / UPDATEステートメントの後、コミットする前に、SQL%ROWCOUNTをNUMBER型の変数に格納できます。 COMMITまたはROLLBACKはSQL%ROWCOUNTの値をゼロにリセットするため、COMMITまたはROLLBACKの前にSQL%ROWCOUNT値を変数にコピーする必要があることに注意してください。

    例:

    BEGIN
       DECLARE
          affected_rows   NUMBER DEFAULT 0;
       BEGIN
          DELETE FROM feeds_item
                WHERE shareurl = re1;
    
          affected_rows := SQL%ROWCOUNT;
          DBMS_OUTPUT.
           put_line (
                'This DELETE would affect '
             || affected_rows
             || ' records in FEEDS_ITEM table.');
          ROLLBACK;
       END;
    END;
    

    この興味深い解決策も見つけました(出典: http://markmail.org/message/grqap2pncqd6w3sp



    1. SQL-最大値の列を持つ行を選択する方法

    2. shell_exec phpを使用してMySqlデータベースを作成するにはどうすればよいですか?

    3. 第2世代のGoogleCloudSQL-AppEngine

    4. MySQL-最後の日時を取得する場合に選択します