Речник на GRANT FireBird

Потребителски инструменти

Инструменти за сайта

Страничен панел

Статии и ЧЗВ

Инсталация и настройка

Обработка на грешка

Полезни SQL заявки

Тематични групи

Съдържание

Сървърни версии

Firebird v0.9 Firebird v1.0 Firebird v1.5 Firebird v2.0

Изявлението GRANT предоставя една или повече привилегии върху обекти на база данни на потребители, роли, съхранени процедури, тригери и изгледи.

Оторизираният потребител няма никакви привилегии, докато изрично не му бъдат предоставени някои права. Когато се създаде обект, само неговият създател и SYSDBA имат привилегии върху него и могат да присвояват привилегии на други потребители, роли или обекти.

Таблиците имат следните привилегии:

Има отделна привилегия EXECUTE за изпълнение на съхранени процедури. Тя ви позволява да изпълнявате съхранени процедури и да избирате данни от избрани процедури (с помощта на израза SELECT).

Клаузата TO указва списък с потребители, роли и обекти на база данни (процедури, тригери и изгледи), за които ще бъдат предоставени изброените привилегии. Незадължителните клаузи USER и ROLE ви позволяват да посочите на кого се предоставя привилегията. Ако ключовата дума USER или ROLE не е зададена, тогава сървърът проверява дали съществува роля с даденото име, ако не съществува, тогава привилегиите се присвояват на потребителя. Съществуването на потребителя, на когото се предоставят правата, не се проверява, когато се изпълнява командата GRANT. Ако привилегията е предоставена на обект от база данни, тогава трябва да се посочи типът на обекта.

Забележка: Въпреки че ключовите думи USER и ROLE не са задължителни, те са желателниизползвайте ги, за да избегнете объркване.

SQL има специален потребител, PUBLIC, който представлява всички потребители. Ако дадена операция е разрешена за потребителя PUBLIC, тогава всеки удостоверен потребител може да извърши тази операция върху посочения обект.

Забележка: Ако привилегиите са присвоени на потребителя PUBLIC, те трябва да бъдат отменени от потребителя PUBLIC.

Незадължителната клауза WITH GRANT OPTION позволява на потребителите, посочени в потребителския списък, да предоставят на други потребители привилегиите, посочени в списъка с привилегии.

Друга цел на оператора GRANT е да присвои роли на група от изброени потребители. В този случай клаузата GRANT е последвана от списък с роли, които ще бъдат присвоени на списъка с потребители, посочени след клаузата TO.

Незадължителната клауза WITH ADMIN OPTION позволява на потребителите, посочени в потребителския списък, да присвояват роли от списъка с роли, посочени в списъка с роли, на други потребители.

Когато предоставяте права в база данни, текущият потребител обикновено се записва като предоставящ. С помощта на клаузата GRANTED BY можете да предоставите права от името на друг потребител. Когато използвате командата REVOKE след GRANTED BY, правата ще бъдат премахнати само ако са регистрирани от премахващия потребител. За да се улесни миграцията от някои други RDBMS, нестандартната клауза AS се поддържа като синоним на клаузата GRANTED BY.

Клаузата GRANTED BY може да използва:

Дори собственикът на ролята не може да използва GRANTED BY, освен ако не е в горния списък.