Difference between revisions of "TempDB.Create"
1>Admin |
m (1 revision imported) |
(No difference)
|
Latest revision as of 08:57, 22 January 2025
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->зДок"); //В дальнейшем таблицу аТемп можно выводить на экран или использовать в последующих запросах.