Не используйте некоторые из приведенных выше ответов.
Некоторые предлагают использовать вложенный SELECT, не делайте этого, это мучительно медленно. Если у вас есть много записей для обновления, используйте join, поэтому что-то вроде:
update (select bonus
from employee_bonus b
inner join employees e on b.employee_id = e.employee_id
where e.bonus_eligible = 'N') t
set t.bonus = 0;
См. Эту ссылку для получения более подробной информации. http://geekswithblogs.net/WillSmith/archive/2008/06/18/oracle-update-with-join-again.aspx .
Кроме того, убедитесь, что есть первичные ключи на всех таблицах, к которым вы присоединяетесь.
См. ? '@'
:
Описание:
Извлечь содержимое слота в объекте с помощью формального (S4) структура классов.
Использование:
object @ name
...
В языке S есть две объектные системы, неофициально известные как S3 и S4.
methods
, прикрепленный по умолчанию
начиная с версии 1.7.0. См. также этот документ: Классы и методы S4 .
Вы захотите прочитать о классах S4, в которых используется символ @.
Как уже говорили другие, символ @ используется с классами S4, но вот примечание из Руководства по стилю R Google : «Используйте объекты и методы S3, если нет является веской причиной для использования объектов или методов S4 »