Link Search Menu Expand Document

Стд::БазаДанных

Типы для работы с базой данных Пространство содержит типы для работы с базой данных — выполнения запросов и работы с транзакциями.

Типы

Null

Тип-одиночка
Стд::БазаДанных::Null
Базовые типы: Объект
Доступность: КлиентИСервер

Значение Null базы данных.
В отличие от языка запросов, во встроенном языке нет троичной логики для Null. Т.е. сравнение Null == Null во встроенном языке имеет результат Истина.


Запрос

Стд::БазаДанных::Запрос
Базовые типы: Объект
Дочерние типы: ЗапросБезВыборки, ПроизвольныйЗапрос, ТипизированныйЗапрос
Доступность: Сервер

Базовый тип объектов для выполнения запросов к базе данных сформулированных на языке запросов.


ЗапросБезВыборки

Стд::БазаДанных::ЗапросБезВыборки
Базовые типы: Запрос, Объект
Доступность: Сервер

Объект для выполнения запросов к базе данных сформулированных на языке запросов. Объекты этого типа порождаются на основе литералов запросов не возвращающих выборку.


ИсключениеДействиеЗапрещеноВТранзакции

Стд::БазаДанных::ИсключениеДействиеЗапрещеноВТранзакции
Базовые типы: Исключение, Объект
Доступность: Сервер

Исключение, возникающее при попытке выполнить действие, запрещенное в транзакции.


ИсключениеЗапроса

Стд::БазаДанных::ИсключениеЗапроса
Базовые типы: Исключение, Объект
Доступность: Сервер

При выполнении запросов из встроенного языка перехватывать можно только восстановимые исключения - все восстановимые исключения языка запросов во встроенном языке представлены как ИсключениеЗапроса.
К восстановимым исключениям относятся:

  • Синтаксическая ошибка в языке запросов
    • Например: Выброть 1} (ошибка в написании ключевого слова)
  • Ошибка проверки языка запросов
    • Например: Выбрать Поле (Не найдено поле Поле)
  • Ошибка при проверке прав доступа
  • Ошибка в формате имени
    • Например: [Имя (Неправильное экранирование)
  • Слишком маленькое или слишком большое значение типа ДатаВремя
  • Ошибки при работе с временными таблицами (дублирующееся имя временной таблицы, временная таблица на найдена и т.п.)
  • Ошибка блокировки
    • Превышено время ожидания блокировки
    • Взаимоблокировка (deadlock)
  • Нарушение уникальности первичного ключа или уникального индекса
  • Ошибка работы с данными
    • Деление на 0
    • Арифметическое переполнение (Например: Выразить(42 Как Число(1))
    • Обрезка значений типа Строка или Байты при вставке
      • Например, есть поле Поле временной таблицы Таблица типа Строка(5)
      • Выполняется запрос: Вставить В Таблица (Поле) Значения ("123456")

ИсключениеНедопустимоеСостояниеТранзакции

Стд::БазаДанных::ИсключениеНедопустимоеСостояниеТранзакции
Базовые типы: Исключение, Объект
Дочерние типы: ИсключениеНетАктивнойТранзакции
Доступность: Сервер

Исключение недопустимое состояние транзакции.
Если транзакция находится в состоянии, при котором можно только отменить изменения транзакции (например, одна из вложенных транзакций была отменена), то при попытке фиксации изменений такой транзакции будет вызвано исключение ИсключениеНедопустимоеСостояниеТранзакции.


ИсключениеНетАктивнойТранзакции

Стд::БазаДанных::ИсключениеНетАктивнойТранзакции
Базовые типы: Исключение, ИсключениеНедопустимоеСостояниеТранзакции, Объект
Доступность: Сервер

Исключение выбрасывается при отсутствии активной транзакция, необходимой для выполнения операции.


ОбластьВидимостиВременныхТаблиц

Стд::БазаДанных::ОбластьВидимостиВременныхТаблиц
Базовые типы: Закрываемое, Контекст, Объект
Доступность: Сервер

Контекст для управления областями видимости временных таблиц языка запросов.
При выполнении запроса используется текущая (самая близкая к запросу) область видимости временных таблиц. Если области нет - с временными таблицами работать нельзя, если только это не пакетный запрос. Временная таблица созданная в одной области видимости не видна в другой области видимости.


ОписаниеИсточникаДанных

Стд::БазаДанных::ОписаниеИсточникаДанных<ТипДанных>
Базовые типы: Объект
Доступность: Сервер

В объекте описываются имена и типы колонок источника данных языка запросов.


ОписаниеКолонки

Стд::БазаДанных::ОписаниеКолонки
Базовые типы: Объект
Доступность: Сервер

Описание одной колонки результата запроса языка запросов.


ПроизвольныйЗапрос

Стд::БазаДанных::ПроизвольныйЗапрос
Базовые типы: Запрос, Объект
Доступность: Сервер

Объект для выполнения запросов к базе данных сформулированных на языке запросов.


РезультатЗапроса

Стд::БазаДанных::РезультатЗапроса<ТипСтрокиРезультатаЗапроса>
Базовые типы: Закрываемое, Обходимое, Объект
ТипСтрокиРезультатаЗапроса: тип строки результата.
Обход возможен только один раз.
Доступность: Сервер

Объект встроенного языка РезультатЗапроса предназначен для работы с результатами запроса на языке запросов.

  • QueryResultRowType - тип строки результата. Обход возможен только один раз.

СтрокаРезультатаПроизвольногоЗапроса

Стд::БазаДанных::СтрокаРезультатаПроизвольногоЗапроса
Базовые типы: Объект
Доступность: Сервер

Строка результата выполнения ПроизвольныйЗапрос.


ТипДанных

Стд::БазаДанных::ТипДанных
Базовые типы: Объект
Доступность: Сервер

В объекте описываются допустимые типы значений.


ТипПараметраЗапроса

Стд::БазаДанных::ТипПараметраЗапроса
Базовые типы: Объект
Доступность: Сервер

Объект встроенного языка для получения информации о типах параметра и о том представляют ли эти типы коллекцию значений. Если тип параметра составной, то значение параметра имеет один тип из этого множества. Если же параметр используется в выражении В (например в запросе ВЫБРАТЬ Ссылка ИЗ Товары ГДЕ Поставщик В (&Поставщики)), то значение параметра это коллекция значений типов множества.


ТипизированныйЗапрос

Стд::БазаДанных::ТипизированныйЗапрос<ТипСтрокиРезультатаЗапроса>
Базовые типы: Запрос, Объект
Доступность: Сервер

Объект для выполнения запросов к базе данных сформулированных на языке запросов. Объекты этого типа порождаются на основе литералов запросов возвращающих выборку. Вместе с объектом запроса порождается структурный тип для результатов запроса. Имена, типы и состав полей порождённого структурного типа соответствуют колонкам результата запроса. Имя структурного типа можно задать явно с помощью специального синтаксиса языка запросов В СТРУКТУРУ (см. пример). Если имя структурного типа не задано - порождается анонимный тип. Именованные структурные типы видны за пределами модуля (в т.ч. на клиенте) по имени вида ИмяТипаВладеющегоМодулем.СобственноеИмяСтруктурногоТипа (видимость определяется видимостью типа владеющего модулем). Особенности порождённых структурных типов:

  • нет конструкторов
  • все поля только для чтения
  • поддерживается передача между клиентом и сервером

Транзакции

Тип-одиночка
Стд::БазаДанных::Транзакции
Базовые типы: Объект
Доступность: Сервер

Используется для открытия транзакций.


Транзакция

Стд::БазаДанных::Транзакция
Базовые типы: Закрываемое, Контекст, Объект
Доступность: Сервер

Объект встроенного языка для управления транзакцией базы данных.
Для упрощения работы с транзакциями в коде прикладного решения предполагается использование с модификатором исп. При объявлении переменной будет выполнено открытие новой транзакции (фактической или логической), а при выходе из области видимости она будет завершаться.