Передача массивов в хранимую процедуру - PullRequest
3 голосов
/ 07 июня 2011

Каков наилучший, наиболее предпочтительный (и, если возможно, эффективный) способ передачи массива строк из приложения .NET в хранимую процедуру SQL Server 2005?

1) Передать массив строк в виде строки, разделенной запятой или точкой с запятой, и проанализировать ее во временной таблице?

2) Передать массив как XML и использовать методы SQL Server 2005 для его разбора во временную таблицу?

3) Написать вспомогательную хранимую процедуру для работы с каждой строкой по отдельности и иметь .NET, вызывающую ее для каждого элемента в массиве?

4) Другое ... Что?

Я бы сказал, решение 2) самое элегантное, но оно, безусловно, не самое эффективное ... Так ли это?

Ответы [ 2 ]

3 голосов
/ 07 июня 2011

Прочтите эту статью.

Массивы и списки в SQL Server 2005

Другие связанные статьи: Массивы и списки в SQL Server

Редактировать: Извините, я не понял, что это уже упоминалось в комментариях.

1 голос
/ 07 июня 2011

Это зависит от ваших требований.

  1. В случае, если я импортирую, передайте XML и используйте SQL Server 2005 методы для анализа во временную таблицу

  2. Если записи не в большом количестве, я могу использовать разделенную точкой с запятой строку.

  3. Если у вас есть какие-то значения перечисления, такие как фильтрация записей на основе нескольких состояний, тогда я могу использовать В

Хорошие и плохие моменты при передаче массива

Надеюсь, это поможет вам. :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...