Добавить записи
Добавляет записи в таблицу
Функция ДобавитьЗаписи(Знач Таблица, Знач МассивДанных, Знач Транзакция = Истина, Знач Соединение = "", Знач Tls = "") Экспорт
Параметр | CLI опция | Тип | Обяз. | Назначение |
---|---|---|---|---|
Таблица | --table | Строка | ✔ | Имя таблицы |
МассивДанных | --rows | Массив Из Структура | ✔ | Массив структур данных строк: Ключ > поле, Значение > значение поля |
Транзакция | --trn | Булево | ✖ | Истина > добавление записей в транзакции с откатом при ошибке |
Соединение | --dbc | Строка, Произвольный | ✖ | Соединение или строка подключения |
Tls | --tls | Структура Из КлючИЗначение | ✖ | Настройки TLS, если необходимо. См. ПолучитьНастройкиTls |
Возвращаемое значение: Соответствие Из КлючИЗначение - Результат выполнения запроса
подсказка
Данные записей указываются как массив структур вида:{'Имя поля 1': {'Тип данных': 'Значение'}, 'Имя поля 2': {'Тип данных': 'Значение'},...}
Список доступных типов описан на начальной странице документации библиотеки MSSQL
Пример использования для 1С:Предприятие/OneScript
Адрес = "127.0.0.1";
Логин = "SA";
Пароль = "12we...";
База = "testbase1";
НастройкиTLS = OPI_MSSQL.ПолучитьНастройкиTls(Истина);
СтрокаПодключения = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
Таблица = "testtable";
МассивЗаписей = Новый Массив;
Картинка = "https://hut.openintegrations.dev/test_data/picture.jpg";
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Картинка); // Картинка - Тип: ДвоичныеДанные
XML = "<?xml version=""1.0""?>
|<root>
| <element>
| <name>Пример</name>
| <value>123</value>
| </element>
| <element>
| <name>Тест</name>
| <value>456</value>
| </element>
|</root>";
ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату();
ТекущаяДатаЧП = OPI_Инструменты.ДатаRFC3339(ТекущаяДата, "+05:00");
СтруктураЗаписи = Новый Структура;
СтруктураЗаписи.Вставить("tinyint_field" , Нов ый Структура("TINYINT" , 5));
СтруктураЗаписи.Вставить("smallint_field" , Новый Структура("SMALLINT" , 2000));
СтруктураЗаписи.Вставить("int_field" , Новый Структура("INT" , 200000));
СтруктураЗаписи.Вставить("bigint_field" , Новый Структура("BIGINT" , 20000000000));
СтруктураЗаписи.Вставить("float24_field" , Новый Структура("FLOAT24" , 10.1234567));
СтруктураЗаписи.Вставить("float53_field" , Новый Структура("FLOAT53" , 10.123456789123456));
СтруктураЗаписи.Вставить("bit_field" , Новый Структура("BIT" , Истина));
СтруктураЗаписи.Вставить("nvarchar_field" , Новый Структура("NVARCHAR" , "Some text"));
СтруктураЗаписи.Вставить("varbinary_field", Новый Структура("BYTES" , Картинка));
СтруктураЗаписи.Вставить("uid_field" , Новый Структура("UUID" , Новый УникальныйИдентификатор));
СтруктураЗаписи.Вставить("numeric_field" , Новый Структура("NUMERIC" , 5.333));
СтруктураЗаписи.Вставить("xml_field" , Новый Структура("XML" , XML));
СтруктураЗаписи.Вставить("date_field" , Новый Структура("DATE" , ТекущаяДата));
СтруктураЗаписи.Вставить("time_field" , Новый Структура("TIME" , ТекущаяДата));
СтруктураЗаписи.Вставить("dto_field" , Новый Структура("DATETIMEOFFSET", ТекущаяДатаЧП));
СтруктураЗаписи.Вставить("datetime_field" , Новый Структура("DATETIME" , ТекущаяДата));
МассивЗаписей.Добавить(СтруктураЗаписи);
// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
Результат = OPI_MSSQL.ДобавитьЗаписи(Таблица, МассивЗаписей, Истина, СтрокаПодключения, НастройкиTLS);