(SQL Server 2005) Хороший способ управления большим количеством операторов вставки? - PullRequest
2 голосов
/ 23 сентября 2010

У меня есть хранимая процедура, которая берет имя таблицы и записывает серию операторов INSERT, по одному для каждой строки в таблице.Он используется для предоставления образцов данных «реального мира» для нашей тестовой среды.

Он работает хорошо, но некоторые из этих примеров наборов строк имеют записи 10, 20 КБ.Хранимая процедура записывает их, используя оператор PRINT, и трудно скопировать столько строк и вставить их в среду управления для их запуска.Есть ли возможность перенаправления SQL, которую я мог бы использовать, возможно, чтобы записать эти выходные данные в таблицу и способ циклического прохождения и выполнения каждого оператора таким образом?Просто мысль.

Я хотел бы сделать все это из студии управления, и мне не нужно писать программу на C # для создания набора данных и циклического перебора, и т. Д.хороший подход.Большое спасибо.

Ответы [ 2 ]

2 голосов
/ 23 сентября 2010

Используйте EXEC :

PRINT @INSERT_statement
 EXEC @INSERT_statement

... для выполнения запроса.

Но я бы рекомендовал использовать массовую вставку, чтобы ускорить загрузку данных:

1 голос
/ 23 сентября 2010

Где ваша хранимая процедура получает эти данные?

Возможно, вы захотите импортировать их в виде таблицы и затем запустить вашу хранимую процедуру для этой вставленной таблицы.В SQL Server Management Studio есть много вариантов импорта данных.

Если ваш сохраненный процесс генерирует данные - тогда это совсем другая проблема.

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