TempDB.Create
Revision as of 17:22, 22 November 2024 by 1>Admin
| Create (Создание объекта временной таблицы) | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||
Функция создает новый объект временной таблицы базы данных. Функция может быть вызвана с интерфейсом временной таблицы.
Синтаксис
TempDB.Create(<Наименования столбцов с типами данных (STRING)>):<Новый объект (TEMPDB)>
Аргументы
<Наименования столбцов с типами данных (STRING)>- Задает наименования столбцов в создаваемой таблице через запятую, формат задания столбца:<Наименование столбца>:<Тип данных столбца>[:<Дополнительные флаги столбца>].- Наименование столбца подчиняется стандартным правилам создания наименований в системе и может содержать международные символы.
- Тип данных задается либо в виде прямого указания на тип данных
<Тип>[.<Размер>[.<Точность>]], возможно указание на следующие типы:- NUMBER, NUM -- задает вещественное число с указанием на точность его представления. Тип записывается в виде
NUMBER.<Общее количество цифр>.<Количество цифр после точки>. - INTEGER, INT -- задает целое 64-битное число.
- REAL -- задает произвольное вещественное число (в инженерной нотации)
- DATE -- задает тип данных даты и времени.
- STRING, STR -- задает строковой тип данных с указанием длины строки в виде
STRING.<Длина строки в символах>. Для строк произвольной длины, необходимо указать ноль (возможности при работе с такими строками имеют определенные ограничения для SQL серверов). - ANY, DB -- задает произвольный тип базы данных.
- <Тип данных БД>[.<Вид данных БД>] -- задает определенный тип данных базы данных. В типе данных БД можно указать REF, DOC, JOUR, STOR или ENUM.
- NUMBER, NUM -- задает вещественное число с указанием на точность его представления. Тип записывается в виде
- Также тип данных можно задать с помощью указания на существующий реквизит объекта базы данных, иногда такой способ является более универсальным. В это случае формат записи выглядит следующим образом:
-><Тип данных БД>.<Вид данных БД>.<Реквизит объекта БД>. Система автоматически использует тип данных указанного реквизита для создания столбца временной таблицы. - Флаги столбца представляют совокупность букв-указаний. В данный момент можно использовать следующие указания:
- I -- Добавить индекс к данному столбцу после создания
- U -- Текстовые данные, хранящиеся в столбце будут использовать формат UTF-16. Внимание: без такого указания, по умолчанию текст будет храниться в текущей кодировке ANSI, что может явиться причиной потери международных символов.
Возвращаемое значение
Возвращает новый объект временной таблицы базы данных.
Примеры
//Пример создает таблицу аТемп, и заполняет ее резервами документа ЗаказНаПроизводство, при этом в ней также заполнено поле документа ВыпускПродукции.
// Документ ВыпускПродукции подчинен документу ЗаказНаПроизводство. Выборка документов происходит за период с НачДата по КонДата.
//Таблица номенклатуры из резервов с выпусками и заданиями
аТемп:=TempDB.Create("зДок:DB,зЗад:DB,зН:DB:I,Количество:NUMBER.15.5");
//Заказы на производство
аТемп.LoadFrom("Stor.Резервы","@LINK->зЗад,Номенклатура->зН,?(@EXPENSE=1,-Количество,Количество)->Количество",
"(BegOfDay(@DATE)>=НачДата)And(BegOfDay(@DATE)<=КонДата)","IsType(@LINK,Doc.ЗаказНаПроизводство)");
//Заполняем зДок (подчиненный документ -- ВыпускПродукции)
вТемп:=TempDB.Create("зДок2:DB,зЗад:DB");
//Выбираются только те документы выпусков, основания которых (ЗаказНаПроизводство) находятся в таблице аТемп
вТемп.LoadFrom("Doc.ВыпускПродукции","@ELEMENT->зДок2,@ELEMENT.ДокОснование->зЗад","@ELEMENT.ДокОснование IN аТемп.зЗад");
//Заполним столбец зДок оригинальной таблицы, объединение происходит по условию ":зЗад=зЗад".
аТемп.Update(вТемп,":зЗад=зЗад,зДок2->зДок");
//В дальнейшем таблицу аТемп можно выводить на экран или использовать в последующих запросах.