Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Informix [игнор отключен] [закрыт для гостей] / Temp таблица / 12 сообщений из 12, страница 1 из 1
03.03.2010, 10:17
    #36498958
Temp таблица
Уважаемые гуру, возник простенький вопрос:
В какой системной таблице храниться список временных таблиц.
Т.е. можно, ли при помощи SQL запроса вытащить список временных таблиц.
...
Рейтинг: 0 / 0
03.03.2010, 13:05
    #36499555
vasilis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Temp таблица
Александр_12Уважаемые гуру, возник простенький вопрос:
В какой системной таблице храниться список временных таблиц.
Т.е. можно, ли при помощи SQL запроса вытащить список временных таблиц.
А по форуму поискали ? Хотя бы тупо ввести в строку поиска "список временных таблиц" и посмотреть соответствующие топики http://sql.ru/forum/actualthread.aspx?tid=50498&hl=%f1%ef%e8%f1%ee%ea+%e2%f0%e5%ec%e5%ed%ed%fb%f5+%f2%e0%e1%eb%e8%f6

Также хочу напомнить. что версии серверов очень разные и их возможности тоже сильно отличаются, а также то, что и временные таблицы могут быть созданные явно и неявно, быть "своими" и "чужими" (вам какие?)
...
Рейтинг: 0 / 0
03.03.2010, 13:09
    #36499570
Daugava
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Temp таблица
informix хранит список таблиц в табличке с названием systables в текущей БД.
На счет временных таблиц вопрос достаточно абстрактен и требует развития (свои временнные таблицы, таблицы конкретной сессии, явно созданные таблицы и т.д. и т.п.). Поэтому пойдем от обратного, обычно подобный вопрос возникает, когда надо дропнуть или создать таблицу и нет уверенности в ее существовании. Данный вопрос решается через механизм EXCEPTION. Например,

Код: plaintext
1.
2.
3.
4.
5.
CREATE PROCEDURE drop_my_temp_table()
ON EXCEPTION IN (- 206 ) END EXCEPTION;
DROP TABLE my_temp_table;
END PROCEDURE;

...
Рейтинг: 0 / 0
03.03.2010, 13:32
    #36499660
vasilis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Temp таблица
Daugavainformix хранит список таблиц в табличке с названием systables в текущей БД.

ТС спрашивал "В какой системной таблице храниться список временных таблиц", а в systables их нет. Может ты хотел сказать systabnames в sysmaster?
Вот один из многочисленных вариантов для получения списка всех таких таблиц на сервере
Код: 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.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
-----------------------------------------------------------
-- List all TEMP tables from instance
--  (sorted by owner, dbname, table)
--
-- V.Shulzhenko   DBA_Tools
-----------------------------------------------------------
set isolation to dirty read;
select   tn.tabname[ 1 , 18 ] temp_table
        ,tn.dbsname[ 1 , 18 ] db_name
        ,tn.owner[ 1 , 8 ]  owner
        ,s.name[ 1 , 18 ]   dbspace
--        ,ti_partnum partnum
--        ,ti_flags
        ,substr(bitval(ti_flags, 32 ), 1 , 1 )  sys
        ,substr(bitval(ti_flags, 64 ), 1 , 1 ) log
        ,substr(bitval(ti_flags, 128 ), 1 , 2 ) srt
from systabnames tn,systabinfo ti,sysdbspaces s
where   tn.partnum = ti.ti_partnum 
        and s.dbsnum=partdbsnum(ti_partnum)         
--      and trunc( mod(ti_flags,128) / 64,0) = 1
        and (bitval(ti_flags, 32 )= 1  or bitval(ti_flags, 64 )= 1  or bitval(ti_flags, 128 )= 1 )
order by  3 , 2 , 1 , 4 
--------------------------------------------------------------
--      flags partition_header
--
--          1 Page Level Locking
--          2 Row Level Locking
--         32 System created Temp Table
--         64 User created Temp Table (logged dbspace - V.Shulzhenko)
--        128 Sort File
--        256 Contains Varchar Data Type
--        512 Contains BLOBSpace BLOBS
--       1024 Contains TBLSpace BLOBS
--       2048 Contains either Varchars,BLOBS or Rows > PAGESIZE-
--       4096 Contains optical Sub-System BLOBS
--       8192 Permanent System created Table ( undroppable )
--       16384  Special Function Temp Tables, no Bitmap Maintenanc
...
Рейтинг: 0 / 0
03.03.2010, 15:20
    #36500069
Daugava
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Temp таблица
Я просто в первом вопросе "временных" не прочитал :). Одно радует, что мой ответ практически совпал с ответом 7 летней давности.
...
Рейтинг: 0 / 0
03.03.2010, 15:34
    #36500123
Temp таблица
Спасибо огромное. Select помог
...
Рейтинг: 0 / 0
15.03.2010, 12:05
    #36520479
skill
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Temp таблица
а как связать sid с временной таблицей ?
...
Рейтинг: 0 / 0
15.03.2010, 14:16
    #36520950
vasilis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Temp таблица
skillа как связать sid с временной таблицей ?
Раньше, вроде, никак, имея ввиду только SMI.
Сейчас (для IDS 11.x) - просто не в курсе.
...
Рейтинг: 0 / 0
15.03.2010, 17:20
    #36521547
skill
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Temp таблица
интересует 9-ка.
onstat -g ses <sesionid>
показывает User-created Temp tables.
интересно как выяснить это через sysmaster.
...
Рейтинг: 0 / 0
15.03.2010, 19:32
    #36521870
vasilis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Temp таблица
skillинтересует 9-ка.
onstat -g ses <sesionid>
показывает User-created Temp tables.
Насколько я помню, какой-то вид темповых таблиц onstat все же не показывал
Проверял просто - в dbaccess выполнял нижеуказанный скрипт и в другом окне выполнял onstat для нужного SID-а
Код: 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.
-----------------------------------------------------------
-- (DBACCESS only) - Create all kinds temp tables into current session
--
--      IDS 7.1+
--
-- V.Shulzhenko  DBA Tools  02-2002
-----------------------------------------------------------
select * from items,customer
into temp temp_select_nolog with no log;
----------------------------
select * from items
into temp temp_select_log ;
----------------------------
create temp table temp_create_log
(a1 char,  a2 dec( 5 , 2 ) );
----------------------------
create temp table temp_create_nolog
(a1 char,  a2 dec( 5 , 2 ) )
with no log;
----------------------------
-- sort tempfile
select * from items,customer 
order by  4 ;
----------------------------
Возможно, это касалось только 7-й версии.
skillинтересно как выяснить это через sysmaster.
Как я ранее уже говорил, никак (IMHO)
...
Рейтинг: 0 / 0
16.03.2010, 09:15
    #36522339
skill
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Temp таблица
vasilis,
результат onstat
Код: plaintext
1.
2.
3.
4.
5.
User-created Temp tables :
  partnum  tabname                  rowsize
  2000e3   temp_create_nolog          5 
  300b78   temp_create_log             5 
  300b75   temp_select_log            671 
  2000e0   temp_select_nolog         679 

-- flags partition_header
-- 64 User created Temp Table

сортировочную таблицу и не показывает она с другим флагом.
-- 128 Sort File
...
Рейтинг: 0 / 0
16.03.2010, 14:05
    #36523393
vasilis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Temp таблица
skill
Код: plaintext
1.
2.
3.
4.
5.
User-created Temp tables :
  partnum  tabname                  rowsize
  2000e3   temp_create_nolog          5 
  300b78   temp_create_log             5 
  300b75   temp_select_log            671 
  2000e0   temp_select_nolog         679 

теперь осталось только выяснить, откуда onstat берет информацию по временным таблицам для конкретного SID-а :)
...
Рейтинг: 0 / 0
Форумы / Informix [игнор отключен] [закрыт для гостей] / Temp таблица / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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