Nein, es spielt keine Rolle. Auch wenn SELECT 1 FROM table WHERE ... FOR UPDATE
verwendet wird, sperrt die Abfrage alle Zeilen, die Where-Bedingungen erfüllen.
Wenn die Abfrage Zeilen aus einem Join abruft und wir nicht Zeilen aus allen am Join beteiligten Tabellen sperren möchten, sondern nur Zeilen aus bestimmten Tabellen, ein SELECT ... FOR UPDATE OF list-of-tablenames
Syntax kann nützlich sein:
http://www.postgresql.org/docs/9.0/static/sql-select.html#SQL-FOR-UPDATE-SHARE
Verwenden Sie in Pl/PgSql einen PERFORM
Befehl zum Verwerfen des Abfrageergebnisses:
http://www.postgresql.org/docs/9.2/static/plpgsql-statements.html#PLPGSQL-STATEMENTS-SQL-NORESULT
Statt:
SELECT 1 INTO dummy FROM my_table WHERE userid=v_1 LIMIT 1 FOR UPDATE;
verwenden:
PERFORM 1 FROM my_table WHERE userid=v_1 LIMIT 1 FOR UPDATE;