Поделиться через


Возвращающие табличное значение параметры (ODBC)

Поддержка в ODBC возвращающих табличное значение параметров позволяет клиентским приложениям с большей эффективностью передавать параметризованные данные на сервер за счет передачи нескольких строк в ходе одного вызова.

Cведения о возвращающих табличное значение параметрах на сервере см. в разделе Возвращающие табличное значение параметры (компонент Database Engine).

В ODBC существует два способа передачи на сервер возвращающих табличное значение параметров.

  • Все возвращающие табличное значение параметры могут находиться в памяти во время вызова SQLExecDirect или SQLExecute. Эти данные хранятся в массивах, если в табличном значении имеется несколько строк.

  • Приложение может указать передачу данных времени выполнения для параметра, возвращающего табличное значение, когда вызывается функция SQLExecDirect или SQLExecute. В этом случае строки данных для табличного значения могут быть представлены в пакетах или по одному, чтобы снизить требования, предъявляемые к памяти.

В первом случае хранимые процедуры могут инкапсулировать дополнительные объемы бизнес-логики. К примеру, если элементы заказа передаются в виде возвращающего табличное значение параметра, одна хранимая процедура может инкапсулировать целую транзакцию по приему заказов. Этот параметр очень эффективен, поскольку предполагает только одно обращение к серверу. Существует и другая возможность: использовать одни процедуры для обработки заголовка заказа, а другие – для элементов заказа, но в этом случае потребуется дополнительный код и более сложный контракт между клиентом и сервером.

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

При создании этой табличной переменной можно формировать ограничения и первичные ключи. Ограничения дают хорошую гарантию того, что данные таблицы соответствуют определенным требованиям.

В этом разделе