|
Создание и использование ВРЕМЕННЫХ процедур в одном батче.
|
|||
---|---|---|---|
#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:08 |
|
Создание и использование ВРЕМЕННЫХ процедур в одном батче.
|
|||
---|---|---|---|
#18+
AlexanP, с чего Вы решили, что нельзя? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2021, 12:56 |
|
Создание и использование ВРЕМЕННЫХ процедур в одном батче.
|
|||
---|---|---|---|
#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:25 |
|
Создание и использование ВРЕМЕННЫХ процедур в одном батче.
|
|||
---|---|---|---|
#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:29 |
|
Создание и использование ВРЕМЕННЫХ процедур в одном батче.
|
|||
---|---|---|---|
#18+
AlexanP, если в этом смысле, то время жизни временной таблицы - пакет, а процедуры - подключение. Некоторые DDL операции требуют выполнения в отдельном пакете, но в справке об этом я не нашел информации. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2021, 13:50 |
|
Создание и использование ВРЕМЕННЫХ процедур в одном батче.
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Похоже, строка Код: sql 1.
не выполняется, а становится частью текста процедуры. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2021, 16:51 |
|
Создание и использование ВРЕМЕННЫХ процедур в одном батче.
|
|||
---|---|---|---|
#18+
Что, впрочем, ожидаемо ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2021, 16:52 |
|
Создание и использование ВРЕМЕННЫХ процедур в одном батче.
|
|||
---|---|---|---|
#18+
Тяп-ляп Похоже, строка Код: sql 1.
не выполняется, а становится частью текста процедуры. Документация на эту тему высказывается абсолютно однозначно: Limitations and Restrictions The CREATE PROCEDURE statement cannot be combined with other Transact-SQL statements in a single batch. Соответственно, все прочие инструкции батча, невзирая на процедурные скобки, становятся частью ХП. А вот для CREATE TABLE в документации упоминаний про подобные ограничения нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2021, 08:02 |
|
|
start [/forum/topic.php?fid=46&msg=40067221&tid=1684750]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
94ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 316ms |
total: | 499ms |
0 / 0 |