BASED ON
Описание
BASED ON директива препроцессора, которая создает переменную базового языка (host-language variable) основаную на определении столбца. Переменная наследует атрибуты описанные для столбца и все характеристики, которые создают тип переменной не противоречивый с используемым языком программирования. Для примера, в C, BASED ON добавляет один байт в переменные CHAR и VARCHAR, чтобы разместить завершающий символ NULL.
Используйт BASED ON в секции декларации переменных программы.
Обратите внимание: BASED ON не требует ключивого слова EXEC SQL.
Чтобы объявить переменную базового языка достаточно большой, чтобы разместить сегмент BLOB во время операции FETCH, используйте опцию SEGMENT в предложении BASED ON. Размер переменной получается из длины сегмента столбца BLOB. Если длина сегмента столбца BLOB изменена в базе данных, перекомпилируйте, чтобы скорректировать размер переменной созданной с помощью BASED ON.
Может быть использовано в SQL.
Синтаксис
BASED [ON] [dbhandle.]table.col[.SEGMENT] variable;
Аргумент | Описание |
---|---|
dbhandle. |
Метка для базы данных, с которой связана база данных, в программе используемой много баз данных. dbhandle должна быть предварительно объявлена в инструкции SET DATABASE. |
table.col |
Имя таблицы и имя столбца, на котором переменная базируется. |
.SEGMENT |
Устанавливает размер локальной переменной на основании длинны сегмента столбца BLOB. Используется только, когда table.col ссылается на столбец с типом данных BLOB. |
variable |
Имя переменной базового языка, которая наследует характеристики столбца базы данных. |
Примеры
Следующая внедренная инструкция объявляет переменную базового языка основанную на столбце:
EXEC SQL BEGIN DECLARE SECTION BASED_ON EMPLOYEE.SALARY salary; EXEC SQL END DECLARE SECTION;