#c# #sql-server #sql-server-2005 #stored-procedures
#c# #sql-server #sql-server-2005 #хранимые процедуры
Вопрос:
Я хочу передать всю таблицу как DS.TABLE(0)
в качестве параметра хранимой процедуры.
Пожалуйста, объясните, как я могу это сделать.
Я использую SQL Server 2005
Комментарии:
1. Может быть, вы можете объяснить, что вы пытаетесь сделать? Как заполняется таблица?
Ответ №1:
В SQL Server 2008 есть табличные параметры, только для этого, но поскольку вы используете SQL Server 2005, вы не можете их использовать.
Возможность передать в XML и проанализировать его на сервере. Это дорогостоящая операция, поэтому вам нужно протестировать.
Вы можете найти много информации о том, как передавать списки и массивы в SQL Server 2005 здесь (Эрланд Соммарског), в комплекте с производительностью и другими сравнениями.
Комментарии:
1. @Ajay — Я полагаю, что я ответил на ваш вопрос. Вы не сказали «не говорите мне, что я уже знаю», и не сказали, что вы уже знаете. В статье, на которую я дал ссылку, подробно описано несколько способов сделать то, что вам нужно.
Ответ №2:
Не существует способа передать экземпляр .Net Framework DataTable
в хранимую процедуру SQL Server 2005. Это возможно в SQL Server 2008.
http://msdn.microsoft.com/en-us/library/bb510489 (v=SQL.100).aspx
Комментарии:
1. Вы должны уточнить, что нет никакого способа … на SQL server 2005, но это определенно возможно на SQL server 2008
2. Я знаю, что это возможно в sql server 2008, но я хочу знать, возможно ли это в SQL Server 2005
3. Вот почему я заявил — «Нет способа». Очевидно, что это не тот ответ, который вы хотели, но это ответ.