Сейчас на сайте
Сейчас на сайте 0 пользователей и 0 гостей.

SYSTEMCOLAUTH

COLUMN ОПИСАНИЕ
username ПОЛЬЗОВАТЕЛЬ, который имеет привилегии
grantor ПОЛЬЗОВАТЕЛЬ, который предоставляет привилегии другому пользователю
сname Им столбца, в котором существуют привилегии
owner Владелец tname
updauth Имеет ли ПОЛЬЗОВАТЕЛЬ привилегию UPDATE в этом столбце
refauth Имеет ли ПОЛЬЗОВАТЕЛЬ привилегию REFERENCES в этом столбце

Столбцы updauth и refauth могут быть в состоянии Y, N, или G; но не могут быть одновременно в состоянии N для одной и той же строки. Это - первые пять столбцов таблицы, которые не составляют первичный ключ. Он отличается от первичного ключа SYSTEMTABAUTH, в котором содержится поле cname, указывающее на определенный столбец обсуждаемой таблицы для которой применяются одна или обе привилегии. Отдельна строка в этой таблице может существовать для каждого столбца в любой данной таблицы, в которой одному пользователю передаются привилегии определенного столбца с помощью другого ползователя. Как и в случае с SYSTEMTABAUTH та же привилегия может быть описана в более чем одной строке этой таблицы, если она была передана более чем од- ним пользователем.

ТИПОВОЙ ЗАПРОС Чтобы выяснить, в каких столбцах какой таблицы вы имеете привилегию REFERENCES, вы можете ввести следующий запрос ( вывод показывается в Рисунке 24.7 )

SELECT owner, tname, cname FROM SYSTEMCOLAUTH WHERE refauth IN ('Y', 'G') AND username = USER ORDER BY 1, 2;

который показывает, что эти две таблицы, которые имеют различных владельцев, но одинаковые им, в действительности, совершенно разные таблицы ( т.е. это не как два синонима для одной таблицы ).

SQL Execution Log

SELECT OWNER, TNAME, CNAME

FROM SYSTEMCOLAUTH WHERE refaulth IN ('Y' , 'G' )

AND username = USER ORDER BY 1, 2 ;

owner tname cname
Diane Customers cnum
Diane Salespeople sname
Diane Salespeople sname
Gillan Customers cnum

Рисунок 24. 7: Столбцы в ПОЛЬЗОВАТЕЛЬ имеет привилегию INSERT