Không, không quan trọng. Ngay cả khi SELECT 1 FROM table WHERE ... FOR UPDATE
được sử dụng, truy vấn sẽ khóa tất cả các hàng đáp ứng các điều kiện tại đó.
Nếu truy vấn truy xuất các hàng từ một phép nối và chúng tôi không muốn khóa các hàng từ tất cả các bảng có liên quan đến phép nối mà chỉ các hàng từ các bảng cụ thể, SELECT ... FOR UPDATE OF list-of-tablenames
cú pháp có thể hữu ích:
http://www.postgresql.org/docs/9.0/static/sql-select.html#SQL-FOR-UPDATE-SHARE
Trong Pl / PgSql, hãy sử dụng PERFORM
lệnh hủy kết quả truy vấn:
http://www.postgresql.org/docs/9.2/static/plpgsql-statements.html#PLPGSQL-STATEMENTS-SQL-NORESULT
Thay vì:
SELECT 1 INTO dummy FROM my_table WHERE userid=v_1 LIMIT 1 FOR UPDATE;
sử dụng:
PERFORM 1 FROM my_table WHERE userid=v_1 LIMIT 1 FOR UPDATE;