Когда используется REVOKE TO?
В официальной документации указано, что REVOKE можно выполнять не только с FROM, но и с TO. Можно ли так сделать на практике, и в чем отличие?
Можно ли выполнить, например
REVOKE INSERT ON table TO ivan1337 CASCADE
?
Ответы (1 шт):
FROM и TO для REVOKE являются синонимами, функциональной разницы между ними нет.
В грамматике SQL-стандарта для GRANT определено TO, а для REVOKE - FROM. Таким образом REVOKE ... TO ... в T-SQL является расширением грамматики стандарта (или, если угодно, отклонением). Точно так же как, например, FOR и AFTER для триггеров (AFTER - стандарт, FOR - расширение).
Хотите быть ближе к стандарту - используйте FROM. Если в этом нет необходимости - используйте то, что больше нравится (что-то одно, как правило).