|
|
|
GLOBAL TEMPORARY
|
|||
|---|---|---|---|
|
#18+
требуется создать временную таблицу из клиента (builder, компонента ADO), но так что б в др сессиях ее не было видно использую CREATE GLOBAL TEMPORARY - созданная таблица доступна в др сессиях есть ли в Oracle аналог временной таблицы MS SQL (#my_table)? или может я не там и не так использую указанный CREATE? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2003, 13:43:18 |
|
||
|
GLOBAL TEMPORARY
|
|||
|---|---|---|---|
|
#18+
Таблица и будет доступна всем, а вот данные только сессии. Это такая политика в оракле, по другому нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2003, 13:49:17 |
|
||
|
GLOBAL TEMPORARY
|
|||
|---|---|---|---|
|
#18+
GTT не должны создаваться "на лету". Впрочем, это касается любых объектов БД. Используй кляузу on commit delete rows при создании GTT. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2003, 13:50:16 |
|
||
|
GLOBAL TEMPORARY
|
|||
|---|---|---|---|
|
#18+
дело в том, что в данном случае важно не только уникальность содержания временной таблицы, но и ее структура. В MS SQL и второе и соовтетственно первое выполняет create table #my_table... а оракловый CREATE GLOBAL TEMPORARY... (а кляузу ипользую ON COMMIT PRESERVE ROWS ) - дает только уникальность содержания я не спец в оракле .. и хочется знать: избран правильный путь? неужели в оракле такого просто невозможно и необходимо генерить уникальное имя как-нить в цикле, проверяя - а нет-ли уже такого спасибо за ответы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2003, 13:56:02 |
|
||
|
GLOBAL TEMPORARY
|
|||
|---|---|---|---|
|
#18+
Смысл временной таблицы в Oracle не в том что сама таблица временная, а в том что данные в ней временные. А формально такая таблица создаётся тоже на продолжительное время, а не вовсе для того что-бы каждый пользователь их создавал и удалял при каждом коннекте. Во временной таблице данные приватные для каждой сессии. Каждая сессия видит только свой данные. Для каждой транзакции в одной сессии - "ON COMMIT DELETE ROWS" или для сессии в целом "ON COMMIT PRESERVE ROWS". Поэтому какая разница для тебя видится ли определение таблицы или нет для всех? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2003, 13:56:26 |
|
||
|
GLOBAL TEMPORARY
|
|||
|---|---|---|---|
|
#18+
и все-таки - есть ли механизм в оракле, позволяющий создать именно временные таблицы, а не таблицы с временным содержанием? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2003, 14:03:39 |
|
||
|
GLOBAL TEMPORARY
|
|||
|---|---|---|---|
|
#18+
2Гость - я ещё добавлю такой нюанс - в Oracle, в отличие от недопродуктов типа Informix и иже с ним, сильно развитый SQL. В ряде случаев проще и эффективней написать мощный select from (select from (select from...))), чем пользоваться механизмом временных таблиц. On commit preserve rows лично мне глубоко не сипатичен, ибо сейчас, по большей части, использут всевозможные connection pool'ы, где очень сложно разобраться, когда сессия начинается, а когда заканчивается. Проще и эффективнее управлять транзакциями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2003, 14:06:51 |
|
||
|
GLOBAL TEMPORARY
|
|||
|---|---|---|---|
|
#18+
Нету, слава Богу, которого нет тоже :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2003, 14:08:21 |
|
||
|
GLOBAL TEMPORARY
|
|||
|---|---|---|---|
|
#18+
to Гость: если скажем для разных пользователей есть необходимость создавать таблицы с одинаковым именем но с одинаковой структурой - то существующих возможностей достаточно. Право на изменение структуры можно для всех закрыть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2003, 14:11:23 |
|
||
|
|

start [/forum/topic.php?fid=52&fpage=2773&tid=1990362]: |
0ms |
get settings: |
6ms |
get forum list: |
16ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
52ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 347ms |

| 0 / 0 |
