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

Postgres SELECT ...FORUPDATE関数で

    いいえ、関係ありません。 SELECT 1 FROM table WHERE ... FOR UPDATEの場合でも を使用すると、クエリはwhere条件を満たすすべての行をロックします。

    クエリが結合から行を取得し、結合に関係するすべてのテーブルから行をロックしたくない場合は、行のみをロックします。特定のテーブルから、SELECT ... FOR UPDATE OF list-of-tablenames 構文が役立つ場合があります:
    http://www.postgresql.org/docs/9.0/static/sql-select.html#SQL-FOR-UPDATE-SHARE


    Pl / PgSqlでは、PERFORMを使用します クエリ結果を破棄するコマンド:
    http://www.postgresql.org/docs/9.2/static/plpgsql-statements.html#PLPGSQL-STATEMENTS-SQL-NORESULT

    代わりに:

    SELECT 1 INTO dummy FROM my_table WHERE userid=v_1 LIMIT 1 FOR UPDATE;
    

    使用:

    PERFORM 1 FROM my_table WHERE userid=v_1 LIMIT 1 FOR UPDATE;
    



    1. OracleDUALテーブルを再作成します

    2. テーブル名を囲む引用符は正確に何をしますか?

    3. JavaFXTextAreaの即時更新

    4. FOREIGN KEYは、同じテーブルの列を参照します。値を挿入できません