CROSS JOIN из параметра в SQL - PullRequest
       9

CROSS JOIN из параметра в SQL

0 голосов
/ 08 марта 2011

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

Есть ли способ реализовать это поведение?Как я могу взять C # DataTable и поместить его в объявление таблицы в SQL, хотя?

Кто-нибудь когда-либо пробовал что-то подобное раньше?

Ответы [ 3 ]

0 голосов
/ 08 марта 2011

Вы можете передать DataTable в sproc как Табличный параметр

0 голосов
/ 08 марта 2011

В зависимости от того, что вы делаете, вы также можете посмотреть на табличные функции и APPLY

0 голосов
/ 08 марта 2011

Вам необходимо создать хранимую процедуру (или более одной).

Внутри хранимой процедуры MS SQL (2005 и выше, я думаю) вы можете создать переменную таблицы, как показано ниже:

DECLARE @tablevar table (
   ID int not null,
   Name nvarchar(100) not null,
   <rest of your columns>
)

В SQL 2008 вы также можете передать DataTable какпараметр к ИП из .NET кода.См. http://www.sqlteam.com/article/sql-server-2008-table-valued-parameters для получения хороших инструкций (включая пример кода VB.NET).

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