Не, няма значение. Дори ако 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;