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

Комментарий в содержании каталога

Большинство версий SQL, позволяют вам помещать комментарии(ремарки) в специальные столбцы пояснений таблиц каталогов SYSTEMCATALOG и SYSTEMCOLUMNS, что удобно, так как эти таблицы не всегда могут объяснить свое содержание. Для простоты, мы пока исключали этот столбец из наших иллюстраций. Можно использовать команду COMMENT ON со строкой текста, чтобы пояснить любую строку в одной из этих таблиц. Состояние - TABLE, для комментирования в SYSTEMCATALOG, и текст - COLUMN, для SYSTEM- COLUMNS. Например :

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