Когда используется REVOKE TO?

В официальной документации указано, что REVOKE можно выполнять не только с FROM, но и с TO. Можно ли так сделать на практике, и в чем отличие?

Можно ли выполнить, например

REVOKE INSERT ON table TO ivan1337 CASCADE

?


Ответы (1 шт):

Автор решения: i-one

FROM и TO для REVOKE являются синонимами, функциональной разницы между ними нет.

В грамматике SQL-стандарта для GRANT определено TO, а для REVOKE - FROM. Таким образом REVOKE ... TO ... в T-SQL является расширением грамматики стандарта (или, если угодно, отклонением). Точно так же как, например, FOR и AFTER для триггеров (AFTER - стандарт, FOR - расширение).

Хотите быть ближе к стандарту - используйте FROM. Если в этом нет необходимости - используйте то, что больше нравится (что-то одно, как правило).

→ Ссылка