Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
29.04.2021, 12:08
|
|||
---|---|---|---|
|
|||
Создание и использование ВРЕМЕННЫХ процедур в одном батче. |
|||
#18+
Вопрос: Почему для временных процедур нельзя их создавать, использовать и удалять в одном батче как таблицы ? create proc #P as begin declare @s int end drop proc #P А для временных таблиц ведь можно же так: create table #T (s int) drop table #T ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.04.2021, 12:56
|
|||
---|---|---|---|
|
|||
Создание и использование ВРЕМЕННЫХ процедур в одном батче. |
|||
#18+
AlexanP, с чего Вы решили, что нельзя? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.04.2021, 13:25
|
|||
---|---|---|---|
|
|||
Создание и использование ВРЕМЕННЫХ процедур в одном батче. |
|||
#18+
create proc #P as begin declare @s int end drop proc #P Два раза запускам и получаем сообщение: Msg 2714, Level 16, State 3, Procedure #P, Line 1 [Batch Start Line 0] There is already an object named '#P' in the database. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.04.2021, 13:29
|
|||
---|---|---|---|
Создание и использование ВРЕМЕННЫХ процедур в одном батче. |
|||
#18+
AlexanP А для временных таблиц ведь можно же так: create table #T (s int) drop table #T Фигушки. Низзя. В процедуре. Ну, т.е. create table #T (s int) drop table #T можно. Только ненужно drop table #T. А вот create table #T (s int) drop table #T create table #T (s int) низзя. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.04.2021, 13:50
|
|||
---|---|---|---|
|
|||
Создание и использование ВРЕМЕННЫХ процедур в одном батче. |
|||
#18+
AlexanP, если в этом смысле, то время жизни временной таблицы - пакет, а процедуры - подключение. Некоторые DDL операции требуют выполнения в отдельном пакете, но в справке об этом я не нашел информации. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.04.2021, 16:51
|
|||
---|---|---|---|
Создание и использование ВРЕМЕННЫХ процедур в одном батче. |
|||
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Похоже, строка Код: sql 1.
не выполняется, а становится частью текста процедуры. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.04.2021, 16:52
|
|||
---|---|---|---|
Создание и использование ВРЕМЕННЫХ процедур в одном батче. |
|||
#18+
Что, впрочем, ожидаемо ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.04.2021, 08:02
|
|||
---|---|---|---|
|
|||
Создание и использование ВРЕМЕННЫХ процедур в одном батче. |
|||
#18+
Тяп-ляп Похоже, строка Код: sql 1.
не выполняется, а становится частью текста процедуры. Документация на эту тему высказывается абсолютно однозначно: Limitations and Restrictions The CREATE PROCEDURE statement cannot be combined with other Transact-SQL statements in a single batch. Соответственно, все прочие инструкции батча, невзирая на процедурные скобки, становятся частью ХП. А вот для CREATE TABLE в документации упоминаний про подобные ограничения нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=46&mobile=1&tid=1684750]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
68ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
others: | 352ms |
total: | 520ms |
0 / 0 |