powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Создать GTT из под не SYSDBA
23 сообщений из 23, страница 1 из 1
Создать GTT из под не SYSDBA
    #39984989
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ФБ3. Хотел поработать с GTT. В Эксперте всё замечательно. При создании с клиента ошибка:
unsuccessful metadata update
CREATE TABLE MYGTT failed
There is no privilege for this operation

CREATE GLOBAL TEMPORARY TABLE MYGTT ( NAME VARCHAR(20), DATE1 DATE, DATE2 DATE ) ON COMMIT PRESERVE ROWS

Где каких привилегий не хватает?
...
Рейтинг: 0 / 0
Создать GTT из под не SYSDBA
    #39984993
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXIГде каких привилегий не хватает?

В базе. На создание таблиц.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Создать GTT из под не SYSDBA
    #39985006
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXI,

http://www.ibase.ru/files/firebird/Firebird_3_0_Language_Reference_RUS.pdf
со страницы 359, Привилегии DDL.
...
Рейтинг: 0 / 0
Создать GTT из под не SYSDBA
    #39985051
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. Разобрался. Не ожидал.
Чтобы не плодить темы. Хочу дропнуть эту временную таблицу. Выскакивает ошибка "In Use". Вообще мне эта временная таблица нужна для временного расчёта и всё. По времени это несколько секунд. В этом случае GTT уровня соединения может не нужна? Лучше транзакционного уровня?
...
Рейтинг: 0 / 0
Создать GTT из под не SYSDBA
    #39985054
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXI,

если ты хочешь использовать GTT в стиле MSSQL (поматросил и дропнул) - не советую, они не такие.

Если говорит In Use - значит так и есть. Закрывай запросы\тр-ции вовремя.
...
Рейтинг: 0 / 0
Создать GTT из под не SYSDBA
    #39985056
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXIВ этом случае GTT уровня соединения может не нужна?

В этом случае GTT вообще не нужна. Но если ты не можешь без неё, то зачем её дропать?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Создать GTT из под не SYSDBA
    #39985126
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXI,

создавать и дропать - это когда-то было решение, когда настоящих временных таблиц не было.
С GTT в этом никакого смысла нет, т.к. данные в ней а) не хранятся в базе, б) не хранятся вообще за пределами коннекта.

Так что, пусть админ БД создает GTT, а дальше пусть ею пользуются все, кому надо "сделать расчет".
...
Рейтинг: 0 / 0
Создать GTT из под не SYSDBA
    #39985219
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

объясните ещё раз тупому. Я (либо админ) могу один раз создать GTT. Каждый пользователь может писать туда данные. Эти данные удалять, если надо. Для каждого пользователя (коннекта) экземпляр данных будет свой (объединения данных можно не бояться). Так?
...
Рейтинг: 0 / 0
Создать GTT из под не SYSDBA
    #39985250
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXI,

опять же
http://www.ibase.ru/files/firebird/Firebird_3_0_Language_Reference_RUS.pdf
страница 126, Глобальные временные таблицы (GTT)

KreatorXXI Эти данные удалять, если надо
сервер не хранит эти данные в БД, данные удаляются сами по завершении транзакции или коннекта.
между пользователями эти данные не видны, и не видны даже если один пользователь стартанул 2 транзакции или 2 коннекта.
...
Рейтинг: 0 / 0
Создать GTT из под не SYSDBA
    #39985258
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Видимость между двумя транзакциями в одном подключении зависит от "on commit DELETE|PRESERVE rows" для GTT.
...
Рейтинг: 0 / 0
Создать GTT из под не SYSDBA
    #39985297
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

всё, разобрался, такое поведение GTT меня вполне устраивает. Ваша ссылка не открывается. В моём LR очень скудно про GTT. Не в претензии, видимо, слишком старый файл.
И, да, я видимо хотел поведения как в MS, хотя не знаю как там :). Чисто интуитивно.
...
Рейтинг: 0 / 0
Создать GTT из под не SYSDBA
    #39985321
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXIВаша ссылка не открывается.
что значит "не открывается"? Почему она у меня открывается?
У вас нет акробат-ридера?
...
Рейтинг: 0 / 0
Создать GTT из под не SYSDBA
    #39985376
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

была ошибка "504 Gateway Timeout". Сейчас всё нормально. Проблема может на моей стороне. Всё равно из раздела по GTT не очень понятен принцип работы. Я понял только после экспериментов и комментариев здесь. Наверно, туповат :).
...
Рейтинг: 0 / 0
Создать GTT из под не SYSDBA
    #39985433
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXI,

в доке, описание, конечно, куцое. Но вполне достаточное. А побольше вроде есть тут, на форуме.
...
Рейтинг: 0 / 0
Создать GTT из под не SYSDBA
    #39985480
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

примерчик использования бы. А есть фактически только синтаксис создания. Может это и неплохо. Разработчик свои мозги напряг. Кстати, поставил тему в опытную эксплуатацию, проблем пока нет.
...
Рейтинг: 0 / 0
Создать GTT из под не SYSDBA
    #39985503
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXI
kdv,

примерчик использования бы. А есть фактически только синтаксис создания. Может это и неплохо. Разработчик свои мозги напряг. Кстати, поставил тему в опытную эксплуатацию, проблем пока нет.

Да какой там пример-то нужен
Данные "видны" либо в пределах транзакции, либо в пределах коннекта
а в остальном все как и с обычной таблицей
...
Рейтинг: 0 / 0
Создать GTT из под не SYSDBA
    #39985525
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m7m,

Плюс еще в эту таблицу можно писать из readonly-транзакции, чем я активно пользуюсь для отчетов
...
Рейтинг: 0 / 0
Создать GTT из под не SYSDBA
    #39985531
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m7m

Да какой там пример-то нужен

Я вот почему-то думал, что GTT работает так. Пользователь создал таблицу, поработал с ней и дропнул. Всё равно она в оперативке, данные в ней никому, кроме текущего пользователя не доступны, зачем её создавать заранее, давать пользователям права на неё? Мне кажется, какая-то логика в моих рассуждениях есть. Оказалось, реализация другая. И вот этой реализации из описания в LR не понять. Опять же слово "временная". "Временная" - это временно есть, а потом нету. А тут получается - таблица постоянная, данные в ней временные.
...
Рейтинг: 0 / 0
Создать GTT из под не SYSDBA
    #39985534
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXIЯ вот почему-то думал, что GTT работает так. Пользователь создал таблицу, поработал с ней
и дропнул.

Потому что слово "глобальная" в её названии прошло мимо сознания?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Создать GTT из под не SYSDBA
    #39985547
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

если слово "глобальная" должно менять значение "временная" на "постоянная", то согласен, моё сознание было не готово к этому.
...
Рейтинг: 0 / 0
Создать GTT из под не SYSDBA
    #39985587
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Глобальная" == "Общая".
"Временная" == "Для временного хранения данных".
Причём здесь "создал, поработал, дропнул"?
...
Рейтинг: 0 / 0
Создать GTT из под не SYSDBA
    #39985600
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,

да вот я тоже не понял. обычная таблица - создал, поработал, дропнул, и GTT тоже - создал, поработал, дропнул.
Казалось бы, в чем разница? Нет, начинаются фантазии, что gtt, это "в памяти".
При том, что в документации одним абзацем исчерпывающе описано
" Глобальные временные таблицы (в дальнейшем сокращённо GTT) так же, как и обычные таблицы, являются постоянными метаданными, но данные в них ограничены по времени существования транзакцией (значение по умолчанию) или соединением с БД. Каждая транзакция или соединение имеет свой собственный экземпляр GTT с данными, изолированный от всех остальных. Экземпляры создаются только при условии обращения к GTT, и данные в ней удаляются при подтверждении транзакции или отключении от БД. "

вот я не представляю, что еще тут объяснять, и какие должны быть примеры (кроме примеров ddl).
...
Рейтинг: 0 / 0
Создать GTT из под не SYSDBA
    #39985628
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

всё, согласен, я неправильно понял, вернее вообще не понял. Посыпаю голову пеплом.
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Создать GTT из под не SYSDBA
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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