Существует ли максимальное количество вставок, которые можно запустить в пакетном сценарии SQL? - PullRequest
1 голос
/ 15 мая 2011

У меня есть ряд простых операторов типа "Insert INTO", но после выполнения около 3 или 4 из них сценарий останавливается, и я получаю пустые наборы, когда пытаюсь выбрать из соответствующих таблиц .... кроме моего конкретного кода .. .i интересно, существует ли идеальный способ выполнения нескольких запросов типа вставки.

Сейчас у меня просто текстовый файл, сохраненный как .sql с обычными sql командами, разделенными ";"

Ответы [ 2 ]

2 голосов
/ 15 мая 2011

Нет, нет. однако, если он останавливается после 3 или 4 вставок, это хорошая ставка, что есть ошибка в 3-й или 4-й вставке. В зависимости от того, какой механизм SQL вы используете, существуют разные способы заставить его сообщать об ошибках во время и после операций.

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

1 голос
/ 15 мая 2011

Характеристики максимальной емкости для SQL Server

Максимальный размер пакета = 65 536 * Размер сетевого пакета

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

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