«Исходящие привилегии» означают существующие привилегии (текущие привилегии) для объекта.
Итак, вы обновили свой образец и спросили, есть ли пример, где «копирование текущих грантов» имеет значение?
Предположим, что есть другая роль (DEF), и мы предоставили выбор в образце view:
create role DEF;
grant select on sandbox.test_schema.my_test_view to role DEF;
В этом случае следующая команда не сможет сказать: «SQL ошибка выполнения: Зависимое предоставление привилегии« SELECT »для защищаемого« SANDBOX.TEST_SCHEMA.MY_TEST_VIEW »роли« DEF »существует ":
grant ownership on view sandbox.test_schema.my_test_view to role ABC;
Чтобы решить эту проблему:
1) Мы можем удалить существующие гранты вручную и повторить первый оператор:
revoke select on sandbox.test_schema.my_test_view from role DEF;
grant ownership on view sandbox.test_schema.my_test_view to role ABC;
2) Мы можем удалить существующие гранты автоматически:
grant ownership on view sandbox.test_schema.my_test_view to role ABC revoke current grants;
3) Мы можем сохранить существующие гранты при смене владельца:
grant ownership on view sandbox.test_schema.my_test_view to role ABC copy current grants;
Таким образом, «COPY / REVOKE current Гранты» имеют значение, если есть существующие гранты на объект.