Метод InsertRow позволяет вставить строку в таблицу данных. Эквивалентен SQL-запросу INSERT.
При добавлении строки таким методом - столбцы, которые были пропущены, заполняются значениями по умолчанию.Этот метод может быть полезен, если необходимо сохранять некоторые данные, которые относятся к конкретному отправляемому емейлу, например, дата или GUID.
1. Сигнатура метода
InsertRow(table, columns, values)
Параметры метода:
Параметр | Тип | Описание |
---|---|---|
table | string | Обязательное. Название таблицы. |
columns |
array of string | Обязательное. Массив объектов описывающих столбцы, в которые будут вставлены данные. Необходимо учитывать и обрабатывать случаи, когда некоторые столбцы игнорируются (например, со значениями по умолчанию) или идут в отличном от таблицы порядке. |
values | array of object | Обязательное. Массив значений столбцов. Значения передаются как объект, поэтому могут использоваться различные типы (числовые, текст, и т.д.). Смотрите примеры. |
2. Примеры использования
Можно вызывать метод InsertRow, используя синтаксис фигурных скобок. Этот способ можно применять в любом месте кода письма, так как метод возвращает пустую строку.
Пример 1 - простейший вызов:
${InsertRow('MyTable', new string[] {'MyColumn'}, new object[] {'foobar'})}
Эквивалентен SQL-запросу:
INSERT INTO MyTable (MyColumn) VALUES ('foobar')
Этот пример предполагает, что у нас есть простая таблица с одним столбцом.
Пример 2 - вставка записи в таблицу с несколькими столбцами различных типов:
${InsertRow('MyTable', new string[] {'MyIntColumn', 'MyTextColumn', 'MyDateColumn'}, new object[] {123, 'foobar', new System.DateTime(2015, 1, 26, 14, 0, 0)})}
Эквивалентен SQL-запросу:
INSERT INTO MyTable (MyIntColumn, MyTextColumn, MyDateColumn) VALUES (123, 'foobar', '2015-01-26 14:00:00')
В этом методе возможно использовать системные переменные, сниппеты и поля подписчика в качестве параметров.