powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Временные таблицы
16 сообщений из 16, страница 1 из 1
Временные таблицы
    #32065478
Фотография Белов Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите, на основании чего SQL Server генерит имя временной таблицы и как он узнает, что именно эта временная таблица создана этим соединением
...
Рейтинг: 0 / 0
Временные таблицы
    #32065505
Александр Спелицин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имя, которое даете ВЫ + много "_" + id сессии.
...
Рейтинг: 0 / 0
Временные таблицы
    #32065529
Фотография Белов Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А где можно узнать ( в какой системной таблице прописан это id сессии)
...
Рейтинг: 0 / 0
Временные таблицы
    #32065621
Фотография Gobzo Kobler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем? Чем меньше руками лазишь в нутро к MS продуктам, тем лучше.
Если очень любопытно, сделай
Код: plaintext
SELECT name FROM tempdb..sysobjects WHERE name LIKE '#%'
...
Рейтинг: 0 / 0
Временные таблицы
    #32066023
Фотография Белов Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Gobzo Kobler
Ну и что - ну получу я имя временной таблицы
А какой процесс созда её ? - Вот вопрос
Как это узнать

Чем больше лазиешь руками в продукты MS - тем лучше ты их узнаешь
...
Рейтинг: 0 / 0
Временные таблицы
    #32066037
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и с чегой то это ид сессии???
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
create proc t1
as
create table #t(i int)
SELECT name FROM tempdb..sysobjects WHERE name LIKE '#%'

go
create proc t2
as
create table #t(i int)
exec t2
go
...
Рейтинг: 0 / 0
Временные таблицы
    #32066046
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
create table #t(i int)
go
create proc t1
as
create table #t(i int)
SELECT name FROM tempdb..sysobjects WHERE name LIKE '#%'
go
create proc t2
as
create table #t(i int)
exec t1
go
exec t2
drop table #t
drop proc t2
drop proc t1
...
Рейтинг: 0 / 0
Временные таблицы
    #32066057
Фотография Белов Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>MiCe
Честно говоря, непонятно, что этим кодом Вы хотели показать.
Как создавать врем. таблицы или получить список временных таблиц.
А вопрос
КАК УЗНАТЬ КТО ЯВЛЯЕТСЯ ВЛАДЕЛЬЦЕМ/СОЗДАТЕЛЕМ (какой процесс, если точнее) ВРЕМЕННОЙ ТАБЛИЦЫ
...
Рейтинг: 0 / 0
Временные таблицы
    #32066231
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
create table #t(i char)  
SELECT LEFT(RIGHT(name, 12 ), 4 ) as nest,RIGHT(name, 8 ),@@SPID spid,@@NESTLEVEL nestlevel FROM tempdb..sysobjects WHERE name LIKE '#%'
go
create proc t3
as
create table #t(i int)
SELECT LEFT(RIGHT(name, 12 ), 4 ) as nest,RIGHT(name, 8 ),@@SPID spid,@@NESTLEVEL nestlevel FROM tempdb..sysobjects WHERE name LIKE '#%'
go
create proc t2
as
exec t3
create table #t(i int)
SELECT LEFT(RIGHT(name, 12 ), 4 ) as nest,RIGHT(name, 8 ),@@SPID spid,@@NESTLEVEL nestlevel FROM tempdb..sysobjects WHERE name LIKE '#%'
go
create proc t1
as
create table #t(i int)
SELECT LEFT(RIGHT(name, 12 ), 4 ) as nest,RIGHT(name, 8 ),@@SPID spid,@@NESTLEVEL nestlevel FROM tempdb..sysobjects WHERE name LIKE '#%'
exec t2
go
exec t1
drop table #t
drop proc t3
drop proc t2
drop proc t1
go

если с уровнем все понятно, то что это за счетчик в конце - не очень ясно...
по моему это номер сесии со старта сервера....
как его дость не знаю....
...
Рейтинг: 0 / 0
Временные таблицы
    #32066234
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и честно гря я не нашел связки spid - номер сессии от начала...
вопрос мона? зачем это нужно?
...
Рейтинг: 0 / 0
Временные таблицы
    #32066288
Фотография Белов Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне - ради интереса
А нашим разработчикам - для реализации каких-то своих хитрож... планах.
...
Рейтинг: 0 / 0
Временные таблицы
    #32066327
VAT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если Микрософт поменяет в очередном сервис-паке способ формирования имени?
...
Рейтинг: 0 / 0
Временные таблицы
    #32066333
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а не проще самим создавать таблицы?
declare @temptable varchar(256)
select @temptable='##t'+cast(@@NESTLEVEL as varchar(10))+cast(@@SPID as varchar(10))
exec('create table '+@temptable+' (id int)')
......
...
Рейтинг: 0 / 0
Временные таблицы
    #32066342
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2MiCe
Их ведь надо самому и удалять...
И главное, использовать можно только в динам. запросах... Прощай, процедуры...
...
Рейтинг: 0 / 0
Временные таблицы
    #32066357
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а кому щас легко.... ;))
динамические запросы помещаются в кэш....
sp_executesql сама создает временные процедуры...
можеш сам создавать ... create proc #myTempProc...
...
Рейтинг: 0 / 0
Временные таблицы
    #32066479
Фотография Белов Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>MiCe
нет, не проще
Так можно все что угодно извратить
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Временные таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]