$$$PRCD

Назначение

Системная таблица $$$PRCD предназначена для ведения словаря процедур БД. Данный словарь содержит информацию о типе возвращаемого процедурой результата, именах и типах входных/выходных параметров.

Примечание

Словарь процедур поддерживается только в том случае, если таблица $$$PRCD создана в БД. Ее отсутствие не сказывается на выполнении процедур.

Схема таблицы

Схема таблицы $$$PRCD приведена в таблице 31.

Таблица 31. Схема таблицы $$$PRCD
Имя столбцаТип данныхСодержание
PROCIDinteger

Системный идентификатор процедуры.

ARGIDsmallint

Порядковый номер элемента словаря процедуры.

MODIFsmallint

Код элемента словаря.

NAMEchar(66)

Имя элемента словаря.

TYPEbyte(3)

Тип данных элемента словаря.

LENsmallint

Длина значения элемента словаря.

DEFVALbyte(256)

Значение элемента словаря по умолчанию.


Структура записи

Структура записи PRCD приведена в таблице 32.

Таблица 32. Структура записи таблицы $$$PRCD
ПолеТип данныхСодержание
NmrProcL_LONG

Системный идентификатор процедуры. Равен ID в таблице $$$PROC. Соответствует столбцу PROCID.

ArgIdL_WORD

Порядковый номер элемента словаря процедуры. Для каждой процедуры элементы ее словаря нумеруются последовательно, начиная с 0. Соответствует столбцу ARGID.

ModifL_WORD

Код элемента словаря:

  • 0 – результат;

  • 1 – IN параметр;

  • 2 – OUT параметр;

  • 3 – INOUT параметр;

  • 4 – поле курсора.

Соответствует столбцу MODIF.

Name[66]L_CHAR

Имя элемента словаря (параметра или поля курсора). Для элемента словаря «результат» – пробелы. Соответствует столбцу NAME.

TypDatL_BYTE

Тип данных элемента словаря:

  • 1 – char;

  • 2 – bigint/integer/smallint;

  • 3 – real/double;

  • 4 – date;

  • 5 – numeric;

  • 6 – byte;

  • 8 – varchar;

  • 9 – varbyte;

  • 10 – logical (boolean);

  • 11 – nchar;

  • 101 – cursor.

Соответствует первому байту столбца TYPE.

PrecL_BYTE

Точность числа. Для вещественных чисел. Соответствует второму байту столбца TYPE.

ScaleL_BYTE

Масштаб числа. Для вещественных чисел. Соответствует третьему байту столбца TYPE.

LenL_WORD

Длина значения. Соответствует столбцу LEN.

PrNullL_BYTE

Признак NULL-значения элемента:

  • 1 – значение равно NULL;

  • 0 – значение не равно NULL.

Значение по умолчанию определено только для параметров IN и INOUT. Соответствует первому байту столбца DEFVAL.

Value[255]L_BYTE

Значение по умолчанию элемента словаря. Для типов данных:

  1. char, varchar, nchar, byte, varbyte:

    • первые два байта – длина;

    • 3… 255 – значение (пробелы/нули);

  2. bigint – значение (8 байт);

  3. long – значение (4 байта);

  4. smallint – значение (2 байта);

  5. real – значение (4 байта);

  6. double – значение (8 байт);

  7. numeric – значение (16 байт);

  8. date – значение (16 байт);

  9. logical – значение:

    • 1 – true;

    • 0 – false;

  10. cursor – не определено.

Соответствует 255 байтам столбца DEFVAL, начиная со второго байта.