|
SQL Server 2019 не помнит значений переменных
|
|||
---|---|---|---|
#18+
Коллеги, мне стыдно задавать этот вопрос, не работал с SQL Server уже 5 лет, немного позабывал все... Короче, пытаюсь в одной сессии (окно SQL Server Management studio) запустить по отдельности Код: sql 1.
а потом отдельно выделяем этот текст Код: sql 1.
и запускаем. на втором стейтменте не видит переменных - ругается Must declare the scalar variable "@dmin". Мне почему-то кажется, что поведение в предыдущих версиях было не такое: переменные помнило в пределах сессии. Или это у меня глюки? Может настройка где есть? Не судите строго. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2021, 13:31 |
|
SQL Server 2019 не помнит значений переменных
|
|||
---|---|---|---|
#18+
Игорь Бобак, так вы не выделяйте отдельно текст, а запускайте всё что написано в окне одним куском. Само собой выделенное считается обособленным куском кода на момент запуска. Это весьма удобно, кстати. SSMS один из лучших инструментов для БД, если не лучший. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2021, 13:39 |
|
SQL Server 2019 не помнит значений переменных
|
|||
---|---|---|---|
#18+
Кесарь, а если я хочу запустить один тяжелый кусок, который что-то запомнит в перемененые, а в другом запусте - второй тяжелый кусок, которытй юзает эти переменные, то мне что, первый кусок перезапускать? не хотелось бы - он тяжелый.... Я понимаю что есть временные таблицы и все такое. Но мне почему-то казалось, что более ранних версиях это было по другому. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2021, 13:54 |
|
SQL Server 2019 не помнит значений переменных
|
|||
---|---|---|---|
#18+
Игорь Бобак Но мне почему-то казалось, что более ранних версиях это было по другому. Нет, так было всегда. Каждое выполнение - это отдельный batch, переменные "живут" только в рамках batch-а ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2021, 13:57 |
|
SQL Server 2019 не помнит значений переменных
|
|||
---|---|---|---|
#18+
msLex, Спасибо. Привычка работать со спарком с jupyter notebook, где ты можешь запомнить переменные между выполнениями запросов, дает о себе знать конкретно. Настолько конкретно, что даже не верится, что в SQL Server не было настройки "растянуть один батч в пределах одного окна". ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2021, 15:04 |
|
SQL Server 2019 не помнит значений переменных
|
|||
---|---|---|---|
#18+
Игорь Бобак msLex, Спасибо. Привычка работать со спарком с jupyter notebook, где ты можешь запомнить переменные между выполнениями запросов, дает о себе знать конкретно. Настолько конкретно, что даже не верится, что в SQL Server не было настройки "растянуть один батч в пределах одного окна". Никогда не сдавайтесь! Тем более, если работали "со спарком с jupyter notebook, где ты можешь..", а тут форменная фигня, будем откровенны ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2021, 15:06 |
|
SQL Server 2019 не помнит значений переменных
|
|||
---|---|---|---|
#18+
Игорь Бобак, слава богу такого в sql server нет. Ибо это путь к бардаку. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2021, 15:06 |
|
SQL Server 2019 не помнит значений переменных
|
|||
---|---|---|---|
#18+
Игорь Бобак Мне почему-то кажется, что поведение в предыдущих версиях было не такое: переменные помнило в пределах сессии. Или это у меня глюки? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2021, 22:16 |
|
SQL Server 2019 не помнит значений переменных
|
|||
---|---|---|---|
#18+
"запомнить переменную" может только клиентское приложение. Возможно, раньше Вы пользовались другим менеджером и вносили в конфигурацию значения переменных заранее. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2021, 10:41 |
|
SQL Server 2019 не помнит значений переменных
|
|||
---|---|---|---|
#18+
Игорь Бобак Добавьте в начале "романа на t-sql" BEGIN TRAN и получите то что ищете, в конце "романа" соответственно надо дать COMMIT TRAN Что-то типа вот такого должно получиться: BEGIN TRAN T1; ваш код первая глава ваш код глава вторая Ваш код эпилог - если надо COMMIT TRAN T1; П.С. Если по ходу выполнения Вас что-то не устроит подайте команду ROLLBACK и она откатит все назад - как было. П.П.С Коллеги ДБА могут начать ругаться матом, если Вы долго транзакции открытыми держать будете... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2021, 23:48 |
|
SQL Server 2019 не помнит значений переменных
|
|||
---|---|---|---|
#18+
Игорь Бобак Кесарь, а если я хочу запустить один тяжелый кусок, который что-то запомнит в перемененые, а в другом запусте - второй тяжелый кусок, которытй юзает эти переменные, то мне что, первый кусок перезапускать? не хотелось бы - он тяжелый.... Я понимаю что есть временные таблицы и все такое. Но мне почему-то казалось, что более ранних версиях это было по другому. в SSMS не было... ... по крайней мере, последние 15 лет ... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2021, 12:08 |
|
SQL Server 2019 не помнит значений переменных
|
|||
---|---|---|---|
#18+
SIMPLicity_ в SSMS не было... ... по крайней мере, последние 15 лет ... Итого последние 25 лет. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2021, 20:41 |
|
SQL Server 2019 не помнит значений переменных
|
|||
---|---|---|---|
#18+
alexeyvg , SIMPLicity_ В общем вы не правы. SET IMPLICIT_TRANSACTIONS в SSMS настраивается, ниже скриншот. Чтиво о об этой настройке вот тут: https://docs.microsoft.com/en-us/sql/t-sql/statements/set-implicit-transactions-transact-sql?view=sql-server-ver15 Однако настройка не популярна, ибо правильнее контролировать транзакции методом, который я описывал выше. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2021, 21:42 |
|
SQL Server 2019 не помнит значений переменных
|
|||
---|---|---|---|
#18+
Такой метод плох тем, что, что экспериментатор может "забыть" транзакцию, скажем, на выходные, в результате чего происходит авария. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2021, 16:09 |
|
SQL Server 2019 не помнит значений переменных
|
|||
---|---|---|---|
#18+
Col alexeyvg , SIMPLicity_ В общем вы не правы. SET IMPLICIT_TRANSACTIONS в SSMS настраивается, ниже скриншот. Опция SET IMPLICIT_TRANSACTIONS в SSMS не имеет отношения к "запоминанию значений переменных". ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2021, 23:21 |
|
SQL Server 2019 не помнит значений переменных
|
|||
---|---|---|---|
#18+
Col alexeyvg , SIMPLicity_ В общем вы не правы. SET IMPLICIT_TRANSACTIONS в SSMS настраивается, ниже скриншот. Чтиво о об этой настройке вот тут: https://docs.microsoft.com/en-us/sql/t-sql/statements/set-implicit-transactions-transact-sql?view=sql-server-ver15 Однако настройка не популярна, ибо правильнее контролировать транзакции методом, который я описывал выше. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2021, 18:29 |
|
|
start [/forum/topic.php?fid=46&msg=40088881&tid=1684423]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
147ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 257ms |
total: | 496ms |
0 / 0 |