Перейти к основному содержимому

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

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

Типы

Null

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

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


Запрос

Стд::БазаДанных::Запрос Доступность: Сервер

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


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

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

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


ИсключениеДействиеНеРазрешеноВТранзакции

Стд::БазаДанных::ИсключениеДействиеНеРазрешеноВТранзакции Доступность: Сервер

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


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

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

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

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

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

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

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


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

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

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


КвалификаторБайт

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

Ограничения для типа Байты.


КвалификаторСтроки

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

Ограничения для типа Строка.


КвалификаторТипаДанных

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

Ограничения для ТипДанныхБазыДанных. Абстрактный тип, экземпляр не может быть создан. Является родительским типом любых квалификаторов.


КвалификаторЧисла

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

Ограничения для типа Число.


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

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

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


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

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

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


ОписаниеКолонкиРезультатаЗапроса

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

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


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

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

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


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

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

ТипСтрокиРезультатаЗапроса: тип строки результата.

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


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

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

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


ТипДанныхБазыДанных

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

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


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

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

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


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

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

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

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

Транзакции

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

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


Транзакция

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

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


УтилитыБазыДанных

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

Контекст для использования некоторых инструментов языка запросов