Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Повторное создание временной таблицы в ХП
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, дамы и господа. Прошу ваших советов по ситуации: Делаю ХП с разветвлённой логикой. По одной ветке логики нужен SELECT INTO #myTab По др. ветке логики (ELSE) надо CREATE TABLE #myTab, чтобы обезпечить её наличие, т.к. в дальнейшем она используется в результирующем SELECT. Однако, создать такую ХП не удаётся, компилятор тупит и не видит моей логики. Ошибка: В базе данных уже существует объект с именем "#myTab". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2018, 12:42 |
|
||
|
Повторное создание временной таблицы в ХП
|
|||
|---|---|---|---|
|
#18+
Не надо так делать. Создавайте таблицу один раз без всяких if через create table. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2018, 12:44 |
|
||
|
Повторное создание временной таблицы в ХП
|
|||
|---|---|---|---|
|
#18+
Изначально так и было: CREATE #myTab затем INSERT INTO #myTab. Однако запрос очень велик, выполняется долго. Недавно узнал, что SELECT INTO выполняет более чем в 2 раза быстрее. Это действительно так, проверял. Захотел переделать ХП, а тут такая ошибка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2018, 12:48 |
|
||
|
Повторное создание временной таблицы в ХП
|
|||
|---|---|---|---|
|
#18+
AndreyVP, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2018, 12:59 |
|
||
|
Повторное создание временной таблицы в ХП
|
|||
|---|---|---|---|
|
#18+
AndreyVP, Можно спрятать SELECT INTO #myTab в EXEC ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2018, 13:02 |
|
||
|
Повторное создание временной таблицы в ХП
|
|||
|---|---|---|---|
|
#18+
invm, спасибо, неплохой совет. К сожалению, помимо этого SELECT INTO в данной ветке логики ещё много всего, включая наполнение ещё пары временных таблиц для использования их в этом SELECT INTO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2018, 13:05 |
|
||
|
Повторное создание временной таблицы в ХП
|
|||
|---|---|---|---|
|
#18+
AndreyVPК сожалению, помимо этого SELECT INTO в данной ветке логики ещё много всего, включая наполнение ещё пары временных таблиц для использования их в этом SELECT INTO.И чем это мешает? Наполнение временных таблиц можно сделать аналогичнымспособом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2018, 13:12 |
|
||
|
Повторное создание временной таблицы в ХП
|
|||
|---|---|---|---|
|
#18+
Eleanor, попробовал, но не работает. Наверное, EXEC делается не в той же сессии. Данный SQL: exec('CREATE TABLE #myTab (ID int primary key)') SELECT * FROM #myTab даёт ошибку Недопустимое имя объекта "#myTab". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2018, 13:20 |
|
||
|
Повторное создание временной таблицы в ХП
|
|||
|---|---|---|---|
|
#18+
invm, а ведь верно! Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2018, 13:21 |
|
||
|
Повторное создание временной таблицы в ХП
|
|||
|---|---|---|---|
|
#18+
AndreyVPEleanor, попробовал, но не работает. Наверное, EXEC делается не в той же сессии Действительно. Получается только с глобальной временной таблицей, но она вам явно не нужна Код: sql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2018, 13:57 |
|
||
|
Повторное создание временной таблицы в ХП
|
|||
|---|---|---|---|
|
#18+
AndreyVPИзначально так и было: CREATE #myTab затем INSERT INTO #myTab. Однако запрос очень велик, выполняется долго. Недавно узнал, что SELECT INTO выполняет более чем в 2 раза быстрее. Это действительно так, проверял. Захотел переделать ХП, а тут такая ошибка. может INSERT INTO #myTab with (tablock) поможет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2018, 14:30 |
|
||
|
Повторное создание временной таблицы в ХП
|
|||
|---|---|---|---|
|
#18+
AndreyVP, ну сделайте в разных ветках разные временные таблицы. Вас всё равно проклянут те, кому потом придется с этой процедурой разбираться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2018, 15:56 |
|
||
|
Повторное создание временной таблицы в ХП
|
|||
|---|---|---|---|
|
#18+
Народ, может я чего-то не понимаю, а что мешает перед созданием таблицы вставить: Код: sql 1. 2. ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2018, 09:26 |
|
||
|
Повторное создание временной таблицы в ХП
|
|||
|---|---|---|---|
|
#18+
AndreyVP, Судя по тому, что пишут SELECT INTO This method can be faster and more efficient than the first if your database is configured to use the simple or bulk logged recovery method, as the logging generated by the statement will be minimal. возможно лучшим решением было бы посмотреть в сторону минимизации логирования, чем усложнять логику приложения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2018, 09:47 |
|
||
|
Повторное создание временной таблицы в ХП
|
|||
|---|---|---|---|
|
#18+
uaggster, авторчто мешает дизайн сервера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2018, 12:58 |
|
||
|
Повторное создание временной таблицы в ХП
|
|||
|---|---|---|---|
|
#18+
uaggster, мешает компилятор SQL Server. Попробуйте выполнить: Код: sql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2018, 13:16 |
|
||
|
Повторное создание временной таблицы в ХП
|
|||
|---|---|---|---|
|
#18+
AndreyVPЗ Однако, создать такую ХП не удаётся, компилятор тупит и не видит моей логики. Ошибка: В базе данных уже существует объект с именем "#myTab". Скопируйте скрипт в новое окна и запустите , либо Код: sql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2018, 15:02 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=125&tid=1688729]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
| others: | 231ms |
| total: | 367ms |

| 0 / 0 |
