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

ЗапросSql

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

Запрос для внешней БД.

Сравнение ссылочное

Иерархия типа

Базовые типы: Объект

Дочерние типы: ЗапросSqlБезВыборки, ЗапросSqlВызовПроцедуры, ЗапросSqlСВыборкой


Свойства

Текст

Доступность: Сервер

Текст: Строка

Текст запроса.

Важно! При использовании PostgreSQL следует экранировать символ & в операциях.

Запрос.Текст = "SELECT ARRAY[1,4,3] \\&\\& ARRAY[2,1] \"MyColumn\""

Важно! При использовании PostgreSQL не разрешено использование операций, содержащих символ ?. Следующий запрос не будет выполнен из-за ошибки.

Запрос.Текст = "SELECT ?- lseg '((-1,0),(1,0))' \"MyColumn\""

Методы

УстановитьЗначениеПараметра

Доступность: Сервер

УстановитьЗначениеПараметра(
Имя: Строка,
Значение: Объект,
ТипДанных: ТипДанныхSql? = Неопределено)
Устанавливает значение параметра запроса. Параметры доступны для обращения в тексте запроса. С помощью этого метода можно передавать переменные в запрос, например, для использования в условиях запроса.

Имя - Имя параметра, при пустом значении выбрасывается исключение ИсключениеНедопустимыйАргумент

Значение - Новое значение параметра.

ТипДанныхSql - Sql тип параметра. Если не указан, определяется автоматически в зависимости от параметра Значение:

  • Стд::БазаДанных::Null -> NULL
  • Булево -> Boolean
  • Строка -> VarChar
  • Число
    • Если целое, то в зависимости от значения выбирается наименьшее из BigInt, Integer, SmallInt.
    • Если не целое, то Numeric
  • Дата -> Date
  • ДатаВремя -> TimeStamp
  • Время -> Time
  • Момент -> TimeStampWithTimeZone
  • Байты -> VarBinary
  • ПотокЧтения -> VarBinary

При вызове метода никаких проверок не выполняется:

  • можно установить значение параметра, которого нет в тексте запроса
  • можно повторно установить значение параметра (затерев тем самым предыдущее)
  • можно указать несовместимые ТипДанныхSql и Значение
  • можно указать несоответствующий тексту запроса ТипДанныхSql

Примеры

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

метод УдалитьПеречисленные(Соединение: СоединениеSql, Иды: Обходимое<Строка>): Число
пер Результат = 0
пер Запрос = Соединение.СоздатьЗапросБезВыборки("DELETE FROM dbo.doc_table WHERE id = &Ид")
для Ид из Иды
Запрос.УстановитьЗначениеПараметра("Ид", Ид)
Результат += Запрос.Выполнить()
;
возврат Результат
;

Список унаследованных методов

Объект

ВСтроку, ПолучитьТип, Представление