No, non importa. Anche se SELECT 1 FROM table WHERE ... FOR UPDATE
viene utilizzata, la query blocca tutte le righe che soddisfano le condizioni dove.
Se la query recupera le righe da un join e non vogliamo bloccare le righe di tutte le tabelle coinvolte nel join, ma solo le righe da tabelle specifiche, un SELECT ... FOR UPDATE OF list-of-tablenames
la sintassi può essere utile:
http://www.postgresql.org/docs/9.0/static/sql-select.html#SQL-FOR-UPDATE-SHARE
In Pl/PgSql usa un PERFORM
comando per eliminare il risultato della query:
http://www.postgresql.org/docs/9.2/static/plpgsql-statements.html#PLPGSQL-STATEMENTS-SQL-NORESULT
Invece di:
SELECT 1 INTO dummy FROM my_table WHERE userid=v_1 LIMIT 1 FOR UPDATE;
usa:
PERFORM 1 FROM my_table WHERE userid=v_1 LIMIT 1 FOR UPDATE;