![]() |
Модераторы: Akina |
![]() ![]() ![]() |
|
chip_and_dayl |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 603 Регистрация: 22.4.2007 Где: Украина, Киев Репутация: 2 Всего: 9 |
Буду краток.
Есть sql-скрипт
Как сделать, чтобы при выполнение условия if 3=3 прекращалось выполнения скрипта (чтобы пакет1, 2, 3 - не выполнялись). Я сначала делал используя return, но как оказалось он распространяется на пакет, то беж после GO запросы выполняются (в данном случае пакет 0 не выполнится, остальные выполнятся). Это сообщение отредактировал(а) chip_and_dayl - 14.6.2010, 15:26 -------------------- Фсё будет хорошо!!! |
|||
|
||||
chip_and_dayl |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 603 Регистрация: 22.4.2007 Где: Украина, Киев Репутация: 2 Всего: 9 |
Никак!?! :(
-------------------- Фсё будет хорошо!!! |
|||
|
||||
sCreator |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 20.8.2009 Где: Московская област ь Репутация: 1 Всего: 5 |
Использовать BEGIN и END
IF...ELSE (Transact-SQL) MSDN Добавлено через 13 минут и 6 секунд кстати Про GO Инструкции GO по сути разбивают SQL на независимые пакеты, которые даже отправляются на выполнение отдельно |
|||
|
||||
chip_and_dayl |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 603 Регистрация: 22.4.2007 Где: Украина, Киев Репутация: 2 Всего: 9 |
sCreator
Я здесь много Go поставил не спроста ![]() ![]() Добавлено через 2 минуты и 3 секунды
Так уже не катит -------------------- Фсё будет хорошо!!! |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 25 Всего: 454 |
Каждый пакет придётся, вероятно, обернуть в свой IF, и использовать локальную пользовательскую переменную в качестве флага выполнения этого IF.
chip_and_dayl, но вообще ты "хочешь странного". Получается так, что ты используешь создание и изменение объектов БД, и при твоём подходе по завершении скрипта ты будешь иметь неопределённое состояние БД... я как-то себе даже представить не могу, ради чего можно на такое пойти. К тому же ты явно хочешь этот скрипт передать на сервер какой-то клиентской частью (патчер?) - почему бы ему не поручить разруливать эти вопросы? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
chip_and_dayl |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 603 Регистрация: 22.4.2007 Где: Украина, Киев Репутация: 2 Всего: 9 |
Вообще все просто. По моей идее, в начале скрипта идет проверка версии базы, если версия базы не равняется той что прописана в скрипте, то скрипт завершается тем, что дальше этой проверки он не выполняется. ТО беж такой ситуации, что один пакет выполняется, второй нет и т.д. я создавать не собирался ![]()
К сожалению, на данный момент программа для обновления базы пишется, а до того пока она пишется, скрипты вручную запускают люди. Чтобы избежать разных ситуаций, когда ставят/запускают скрипт не в той последовательности, было решено сделать такую проверку. Как вижу, варианта два или или убрать проверку. Так как первый вариант усложнит жизнь программистам, и так как уже не сегодня так завтра будет программа, то наверно будет проще убрать проверку. Сами пакеты, точнее запросы защищены от повторных запусков, точнее от повторного запуска, результат будет тем же, что и до повторного запуска. -------------------- Фсё будет хорошо!!! |
|||
|
||||
sCreator |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 20.8.2009 Где: Московская област ь Репутация: 1 Всего: 5 |
Об этом не подумал. Вот варианты ( кажется работают )
или
|
||||
|
|||||
chip_and_dayl |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 603 Регистрация: 22.4.2007 Где: Украина, Киев Репутация: 2 Всего: 9 |
sCreator
Большое спасибо. Помог :) Добавлено @ 13:37 Как оказалось все элементарно и гениально:) Это сообщение отредактировал(а) chip_and_dayl - 15.6.2010, 13:37 -------------------- Фсё будет хорошо!!! |
|||
|
||||
![]() ![]() ![]() |
Правила форума "MS SQL" | |
|
Запрещается! Публиковать ссылки и обсуждать взлом чего бы то ни было.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MS SQL Server | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |