$$$PROC
Назначение
Системная таблица $$$PROC предназначена для хранения информации о процедурах БД.
Схема таблицы
Схема таблицы $$$PROC приведена
в таблице 33.
| Имя столбца | Тип данных | Содержание |
|---|---|---|
| $$$ID | integer | Системный идентификатор процедуры. |
| $$$OWNER | integer | Идентификатор владельца (создателя процедуры). |
| $$$NAME | char(66) | Имя процедуры. |
| $$$BODY | blob | Тело процедуры. |
| $$$INFO | byte(32) | Информация о процедуре. |
Структура записи
Каждой созданной процедуре в таблице $$$PROC соответствует одна запись – описатель исходной процедуры.
Если процедура была оттранслирована без ошибок (т.е. готова к выполнению), в $$$PROC добавляется еще одна запись – описатель оттранслированной процедуры.
Если процедура была создана, но ее трансляция выполнилась с ошибкой, то для нее есть только одна запись в таблице $$$PROC – описатель исходного кода.
Если для оттранслированной процедуры был удален исходный код командой ALTER PROCEDURE <имя процедуры> DROP SOURCE TEXT, то в описателе оттранслированной процедуры значение поля $$$BODY будет 0.
Структура описателя исходной процедуры приведена в таблице 34.
| Поле | Содержание |
|---|---|
| $$$ID |
Системный идентификатор процедуры. |
| $$$OWNER |
Идентификатор владельца. |
| $$$NAME |
Имя процедуры. |
| $$$BODY |
Исходный текст процедуры. Строки исходного текста всегда должны разделяться символом новой строки '\n'. |
| $$$INFO |
Информация о процедуре. |
Структура описателя оттранслированной процедуры
Структура описателя оттранслированной процедуры приведена в таблице 35.
| Поле | Содержание |
|---|---|
| $$$ID |
Системный идентификатор процедуры. Соответствует значению $$$ID описателя исходной процедуры. |
| $$$OWNER |
Всегда 0. |
| $$$NAME |
Всегда отсутствует (пробел). |
| $$$BODY |
Оттранслированный код процедуры. |
| $$$INFO |
Информация о процедуре. |