Difference between revisions of "TempDB.Create"
m (1 revision imported) |
|||
| (2 intermediate revisions by 2 users not shown) | |||
| Line 23: | Line 23: | ||
* <code>''<Наименования столбцов с типами данных (STRING)>''</code> - Задает наименования столбцов в создаваемой таблице через запятую, формат задания столбца: <code><Наименование столбца>:<Тип данных столбца>[:<Дополнительные флаги столбца>]</code>. | * <code>''<Наименования столбцов с типами данных (STRING)>''</code> - Задает наименования столбцов в создаваемой таблице через запятую, формат задания столбца: <code><Наименование столбца>:<Тип данных столбца>[:<Дополнительные флаги столбца>]</code>. | ||
** Наименование столбца подчиняется стандартным правилам создания наименований в системе и может содержать международные символы. | ** Наименование столбца подчиняется стандартным правилам создания наименований в системе и может содержать международные символы. | ||
| − | ** [[Нотация типов данных|Тип данных]] задается либо в виде прямого указания на тип данных <code><Тип>[ | + | ** [[Нотация типов данных|Тип данных]] задается либо в виде прямого указания на тип данных <code><Тип>[.<Размер>[.<Точность>]]</code>, возможно указание на следующие типы: |
| − | *** '''NUMBER''', '''NUM''' -- задает вещественное число с указанием на точность его представления. Тип записывается в виде <code>NUMBER | + | *** '''NUMBER''', '''NUM''' -- задает вещественное число с указанием на точность его представления. Тип записывается в виде <code>NUMBER.<Общее количество цифр>.<Количество цифр после точки></code>. |
*** '''INTEGER''', '''INT''' -- задает целое 64-битное число. | *** '''INTEGER''', '''INT''' -- задает целое 64-битное число. | ||
*** '''REAL''' -- задает произвольное вещественное число (в инженерной нотации) | *** '''REAL''' -- задает произвольное вещественное число (в инженерной нотации) | ||
*** '''DATE''' -- задает тип данных даты и времени. | *** '''DATE''' -- задает тип данных даты и времени. | ||
| − | *** '''STRING''', '''STR''' -- задает строковой тип данных с указанием длины строки в виде <code>STRING | + | *** '''STRING''', '''STR''' -- задает строковой тип данных с указанием длины строки в виде <code>STRING.<Длина строки в символах></code>. Для строк произвольной длины, необходимо указать ноль (возможности при работе с такими строками имеют определенные ограничения для SQL серверов). |
*** '''ANY''', '''DB''' -- задает произвольный тип базы данных. | *** '''ANY''', '''DB''' -- задает произвольный тип базы данных. | ||
*** '''<Тип данных БД>[.<Вид данных БД>]''' -- задает определенный тип данных базы данных. В ''типе данных БД'' можно указать '''REF''', '''DOC''', '''JOUR''', '''STOR''' или '''ENUM'''. | *** '''<Тип данных БД>[.<Вид данных БД>]''' -- задает определенный тип данных базы данных. В ''типе данных БД'' можно указать '''REF''', '''DOC''', '''JOUR''', '''STOR''' или '''ENUM'''. | ||
Latest revision as of 07: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->зДок");
//В дальнейшем таблицу аТемп можно выводить на экран или использовать в последующих запросах.