Oracle bloqueado con SELECT … PARA ACTUALIZACIÓN DE

Estoy seleccionando de las tablas FOO y BAR. Me gustaría bloquear los loggings de FOO que se devuelven, pero no quiero que se bloqueen los loggings de BAR.

cursor c_foobar is select foo.*, bar.* from foo, bar where foo.id = bar.foo_id for update of <what should I put here?> 

Parece que necesito especificar columnas individuales, pero quiero que todo el logging de foo esté bloqueado. por ejemplo, me gustaría poder hacer algo como:

 cursor c_foobar is select foo.*, bar.* from foo, bar where foo.id = bar.foo_id for update of foo 

¿Tengo que enumerar cada columna de foo en la sección for update of para bloquearlos a todos? ¿O puedo elegir arbitrariamente cualquier columna en foo, incluso aquellas que no son su key principal, y se bloqueará todo el logging?

De la documentation 10G PL / SQL :

Al consultar varias tablas, puede usar la cláusula FOR UPDATE para limitar el locking de filas a tablas particulares. Las filas en una tabla están bloqueadas solo si la cláusula FOR UPDATE OF hace reference a una columna en esa tabla. Por ejemplo, la siguiente consulta bloquea las filas en la tabla de empleados pero no en la tabla de departamentos:

 DECLARE CURSOR c1 IS SELECT last_name, department_name FROM employees, departments WHERE employees.department_id = departments.department_id AND job_id = 'SA_MAN' FOR UPDATE OF salary;