Size: a a a

SqlCom.ru - Стиль жизни SQL

2020 December 17

T

Timus in SqlCom.ru - Стиль жизни SQL
@skudryavtsev777 ^ иди и читай. коль сам не умеешь элементарно гуглить
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
ILYA
Ну ты видимо обратиться к ним пытаешься вне этого динамического запроса, а это по сути другая сессия. Попробуй через ## их создать, хотя я конечно гадаю тут...
Та не, не другая, та же сесия
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
Странно как-то, а как так, создать нельзя а использовать можно...
источник

I

ILYA in SqlCom.ru - Стиль жизни SQL
Андрій
Та не, не другая, та же сесия
Ну не сессия а scope... Идея таже, таблички уже нет вне его
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
ILYA
Ну не сессия а scope... Идея таже, таблички уже нет вне его
Ну так а почему можно создать извне и использовать в динамичном запросе?
источник

SK

Stanislav Kudryavtse... in SqlCom.ru - Стиль жизни SQL
ILYA
Ну ты видимо обратиться к ним пытаешься вне этого динамического запроса, а это по сути другая сессия. Попробуй через ## их создать, хотя я конечно гадаю тут...
Спасибо
источник

I

ILYA in SqlCom.ru - Стиль жизни SQL
Андрій
Ну так а почему можно создать извне и использовать в динамичном запросе?
Я не очень понимаю что вы в виду имеете... Локальные временные таблицы можно и создать и обращаться к ним только внутри конкретного динамического запроса, глобальные внутри сессии но можно и из другого динамического запроса
источник

SK

Stanislav Kudryavtse... in SqlCom.ru - Стиль жизни SQL
ILYA
Ну не сессия а scope... Идея таже, таблички уже нет вне его
Динамический запрос ВСЕГДА выполняется В ТОМ-ЖЕ КОННЕКТЕ и КАК ОТДЕЛЬНЫЙ ПАКЕТ(batch)
источник

SK

Stanislav Kudryavtse... in SqlCom.ru - Стиль жизни SQL
разные batch в этом дело
источник

SK

Stanislav Kudryavtse... in SqlCom.ru - Стиль жизни SQL
поэтому глобальная временная таблица видна, а локальная нет
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
ILYA
Я не очень понимаю что вы в виду имеете... Локальные временные таблицы можно и создать и обращаться к ним только внутри конкретного динамического запроса, глобальные внутри сессии но можно и из другого динамического запроса
так в том то и дело, что можно обращатся и к обычной, если создана извне
источник

I

ILYA in SqlCom.ru - Стиль жизни SQL
Stanislav Kudryavtsev
Динамический запрос ВСЕГДА выполняется В ТОМ-ЖЕ КОННЕКТЕ и КАК ОТДЕЛЬНЫЙ ПАКЕТ(batch)
И чего я не так сказал? Сессия таже scope разный
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
вот так
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
так вот как так получается, что обращаться можно, а создавать нельзя?
источник

I

ILYA in SqlCom.ru - Стиль жизни SQL
Андрій
так вот как так получается, что обращаться можно, а создавать нельзя?
А что именно вам выдал select в первом случае? 1 ? Или нечего ?
источник

SK

Stanislav Kudryavtse... in SqlCom.ru - Стиль жизни SQL
ILYA
И чего я не так сказал? Сессия таже scope разный
если я правильно понимаю, то в рамках SQL SERVER scope - это хп, функция, вьюха.
источник

O

Oleg T in SqlCom.ru - Стиль жизни SQL
Stanislav Kudryavtsev
если я правильно понимаю, то в рамках SQL SERVER scope - это хп, функция, вьюха.
Нет. Можешь временную таблицу создать в одной хп, запустить другую хп и продолжать её использовать. Данный случай связан с работой синтаксического анализатора. Он не знает, что временная таблица есть, т к она создается в dynamic sql, который анализируется позже.
источник

O

Oleg T in SqlCom.ru - Стиль жизни SQL
Создав временную таблицу вне динамического кода ты решаешь этот казус, анализатор видит факт создания временной таблицы
источник

O

Oleg T in SqlCom.ru - Стиль жизни SQL
Если очень надо делать временную таблицу в динамике, то сделай ХП, генерящую временную таблицу и вызывай ее в коде. Я не полностью уверен, что это сработает, но мне кажется что должно.
источник