Запрос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 = &Ид")
для Ид из Иды
Запрос.УстановитьЗначениеПараметра("Ид", Ид)
Результат += Запрос.Выполнить()
;
возврат Результат
;