|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.11.2014, 17:43 | #1 |
Форумчанин
Регистрация: 14.12.2009
Сообщений: 716
|
Разделить условия на switch case
Ребята, есть небольшой запрос, приведенный ниже.
Как мне его можно разделить на что-то вроде switch case мол если curPosition = '06' значит я обрабатываю один вариант WHERE иначе другой WHERE. Код:
Последний раз редактировалось coNsept; 21.11.2014 в 18:03. |
21.11.2014, 17:58 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Зачем? И так все отделено. CASE есть, но не для этого случая
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
21.11.2014, 18:02 | #3 |
Форумчанин
Регистрация: 14.12.2009
Сообщений: 716
|
Дело в том что обращение к [CELL].[SMSSubscriptions].[dbo].[Subscriptions] это удаленный SELECT на другой сервер и по этому мне не выгодно делать такой SELECT и делать это обращение удаленное только тогда когда подходящее условие.
Код:
There is already an object named '#TempMenu' in the database. И в силу не знания языка я не знаю как разделить такое условие чтобы запись происходила именно в темповую таблицу. |
21.11.2014, 18:11 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Уже есть объект под названием '#TempMenu' в базе данных
И что? А он удален после предыдущего выполнения запроса в этой же сессии? Лохмотья за собой нужно чистить
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
21.11.2014, 18:44 | #5 |
Форумчанин
Регистрация: 14.12.2009
Сообщений: 716
|
Как бы я не пытался ее удалить, все равно пишет мне что база уже существует.
Последний раз редактировалось coNsept; 21.11.2014 в 18:54. |
21.11.2014, 18:55 | #6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
В обоих запросах, что в #1, что в #3 эта таблица один раз создается. Второй вариант побыстрей будет. В одной сессии временные файлы такого рода сами не удаляются. Исключение - файлы созданные в хранимках видимы только в них. Как пытаешься удалить?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
21.11.2014, 18:59 | #7 |
Форумчанин
Регистрация: 14.12.2009
Сообщений: 716
|
В этом и проблема что я не нахожу подходящего решения, если вы можете мне подсказать как вторым вариантом решить задачу буду вам благодарен.
TempMenu должна быть одна, по разным темповым таблицам записывать данные нельзя. |
21.11.2014, 19:10 | #8 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Так удаляет?
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 21.11.2014 в 19:13. |
24.11.2014, 09:09 | #9 | |
Форумчанин
Регистрация: 14.12.2009
Сообщений: 716
|
Код:
Цитата:
Последний раз редактировалось coNsept; 24.11.2014 в 10:06. |
|
24.11.2014, 09:13 | #10 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
А удалять не после, а до пробовали.
ADD Короче сейчас попробовал, такая фишка действительно есть. Тут есть два вариаета 1. Оставить как в #1 2. Сделать CREATE TABLE #TempMenu (...), а затем INSERT-ом. При условии что структура результата одинакова
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 24.11.2014 в 10:01. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
switch и case C++ | countteran | Общие вопросы C/C++ | 18 | 06.04.2013 20:52 |
Перемещение из case 1 в case 2(switch(), язык Си) | Павел_95 | Помощь студентам | 13 | 11.01.2013 14:18 |
C++ switch case | frozen__11 | Общие вопросы C/C++ | 6 | 11.11.2012 23:16 |
switch и case | symrak | Общие вопросы C/C++ | 2 | 24.01.2012 15:17 |