Мартин грубер понимание sql перевод Лебедева В. Н. Под редакцией Булычева В. Н. Москва, 1993 martin gruber


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


Download 1.45 Mb.
bet137/172
Sana26.01.2023
Hajmi1.45 Mb.
#1128343
1   ...   133   134   135   136   137   138   139   140   ...   172
Bog'liq
Грубер. Понимание SQL

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




SYSTEMSYNONS — СИНОНИМЫ ДЛЯ ТАБЛИЦ В БАЗЕ ДАННЫХ

Это — имена столбцов в таблице SYSTEMSYNONS и их описание:




СТОЛБЕЦ ОПИСАНИЕ
synonym Имя синонима
synowner Пользователь, который является владельцем синонима (может быть PUBLIC (ОБЩИЙ))
tname Имя таблицы используемой владельцем
tabowner Имя пользователя который является владельцем таблицы


ТИПОВОЙ ЗАПРОС Предположим, что Adrian имеет синоним Clients для таблицы Заказчиков, принадлежащей Diane, и что имеется общий синоним Customers для этой же таблицы. Вы делаете запрос таблицы для всех синонимов в таблице Заказчиков (вывод показывается в Рисунке 24.8):
SELECT *
FROM SYSTEMSYNONS
WHERE tname = 'Customers'

=============== SQL Execution Log ================
| SELECT * |
| FROM SYSTEMSYNONS |
| WHERE tname = 'Customers' |
| ; |
| ================================================= |
| synonym synowner tname tabowner |
| ----------- ----------- ---------- ---------- |
| Clients Adrian Customers Diane |
| Customers PUBLIC Customers Diane |
===================================================

Рисунок 24.8: Синонимы для таблицы Заказчиков


ДРУГОЕ ИСПОЛЬЗОВАНИЕ КАТАЛОГА
Конечно, вы можете выполнять более сложные запросы в системном каталоге. Обьединения, например, могут быть очень удобны. Эта команда позволит вам увидеть столбцы таблиц и базовые индексы, установленые для каждого (вывод показывается в Рисунке 24.9):
SELECT a.tname, a.cname, iname, cposition
FROM SYSTEMCOLUMNS a, SYSTEMINDEXES b
WHERE a.tabowner = b.tabowner AND a.tname = b.tname AND
a.cnumber = b.cnumber
ORDER BY 3 DESC, 2;

Она показывает два индекса, один для таблицы Заказчиков и один для таблицы Продавцов. Последний из них — это одностолбцовый индекс с именем salesno в поле snum; он был помещен первым из-за сортировки по убыванию (в обратном алфавитном порядке) в столбце iname. Другой индекс, custsale, используется продавцами, чтобы отыскивать своих заказчиков. Он основывается на комбинации полей snum и cnum внутри таблицы Заказчиков, с полем snum приходящим в индексе первым, как это и показано с помощью поля cposition.
=============== SQL Execution Log ================
| SELECT a.tname, a.cname, iname, cposition |
| FROM SYSTEMCOLUMNS a, SYSTEMINDEXES b |
| WHERE a.tabowner = b.tabowner |
| AND a.tname = b.tname |
| AND a.cnumber = b.cnumber |
| ORDER BY 3 DESC, 2; |
| ================================================= |
| tname cname iname cposition |
| ----------- ------- -------- ------------ |
| Salespeople sname salesno 1 |
| Customers cnum custsale 2 |
| Customers snum custsale 1 |
===================================================

Рисунок 24.9: Столбцы и их индексы


Подзапросы также могут быть использованы. Имеется способ увидеть данные столбца только для столбцов из таблиц каталога:

Download 1.45 Mb.

Do'stlaringiz bilan baham:
1   ...   133   134   135   136   137   138   139   140   ...   172




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling