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