Вход/Регистрация
Понимание SQL
вернуться

Грубер Мартин

Шрифт:

Для иллюстрации процедуры предложенной в начале этого раздела, имеется способ, позволяющий каждому пользователю видеть информацию SYSTEMCOLUMNS только для принадлежащих ему таблиц:

CREATE VIEW Owncolumns

AS SELECT *

FROM SYSTEMCOLUMNS

WHERE tabowner=USER;

GRANT SELECT ON Owncolumns TO PUBLIC;

КОММЕНТАРИЙ В СОДЕРЖАНИИ КАТАЛОГА

Большинство версий SQL, позволяют вам помещать комментарии(ремарки) в специальные столбцы пояснений таблиц каталогов SYSTEMCATALOG и SYSTEMCOLUMNS, что удобно, так как эти таблицы не всегда могут объяснить свое содержание. Для простоты, мы пока исключали этот столбец из наших иллюстраций.

Можно использовать команду COMMENT ON со строкой текста, чтобы пояснить любую строку в одной из этих таблиц. Состояние - TABLE, для комментирования в SYSTEMCATALOG, и текст - COLUMN, для SYSTEMCOLUMNS.

Например:

COMMENT ON TABLE Chris.Orders

IS 'Current Customer Orders';

Текст будет помещен в столбец пояснений SYSTEMCATALOG. Обычно, максимальная длина таких пояснений - 254 символов.

Сам комментарий, указывается для конкретной строки, одна с tname=Orders, а другая owner=Chris. Мы увидим этот комментарий в строке для таблицы Порядков в SYSTEMCATALOG:

SELECT tname, remarks

FROM SYSTEMCATALOG

WHERE tname='Orders'

AND owner='Chris';

Вывод для этого запроса показывается в Таблица 24.2.

SYSTEMCOLUMNS работает точно так же. Сначала, мы создаем комментарий

COMMENT ON COLUMN Orders.onum

IS 'Order #';

затем выбираем эту строку из SYSTEMCOLUMNS:

SELECT cnumber, datatype, cname, remarks

FROM SYSTEMCOLUMNS

WHERE tname='Orders'

AND tabowner='Chris'

AND cname=onum;

Вывод для этого запроса показывается в Таблице 24.3.

Чтобы изменить комментарий, вы можете просто ввести новую команду COMMENT ON для той же строки. Новый комментарий будет записан поверх старого. Если вы хотите удалить комментарий, напишите поверх него пустой комментарий, подобно следующему:

COMMENT ON COLUMN Orders.onum

IS ";

и этот пустой комментарий затрет предыдущий.

SQL Execution Log

SELECT tname, remarks FROM SYSTEMCATALOG

WHERE tname='Orders' AND owner='Chris'

tname

remarks

Orders

Current Customers Orders

Таблица 24.2: Коментарий в SYSTEMCATALOG

SQL Execution Log

SELECT cnumber, datatype, cname, remarks

FROM SYSTEMCOLUMNS WHERE tname='Orders' AND tabowner='Chris'

AND cname='onum'

cnumber

datatype

cname

remarks

1

integer

onum

Orders #

Таблица 24.3: Коментарий в SYSTEMCOLUMNS

ОСТАЛЬНОЕ ИЗ КАТАЛОГА

Здесь показаны оставшиеся из ващих системных таблиц определения, с типовым запросом для каждого:

SYSTEMINDEXES - ИНДЕКСАЦИЯ В БАЗЕ ДАННЫХ

Имена столбцов в таблице SYSTEMINDEXES и их описания - следующие:

СТОЛБЦЫ

ОПИСАНИЕ

iname

Имя индекса (используемого для его исключения )

iowner

Имя пользователя который создал индекс

tname

Имя таблицы которая содержит индекс

cnumber

Номер столбца в таблице

tabowner

Пользователь который владеет таблицей содержащей индекс

numcolumns

Число столбцов в индексе

cposition

Позиция текущего столбца среди набора индексов

isunique

Уникален ли индекс (Y или N )

ТИПОВОЙ ЗАПРОС

Индекс считается неуникальным, если он вызывает продавца, в snum столбце таблицы Заказчиков:

SELECT iname, iowner, tname, cnumber, isunique

FROM SYSTEMINDEXES

WHERE iname='salesperson';

Вывод для этого запроса показывается в Таблице 24.4.

SQL Execution Log

SELECT iname, iowner, tname, cnumber, isunique

FROM SYSTEMINDEXES WHERE iname='salespeople';

  • Читать дальше
  • 1
  • ...
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: