Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Создать GTT из под не SYSDBA / 23 сообщений из 23, страница 1 из 1
29.07.2020, 15:03
    #39984989
KreatorXXI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создать GTT из под не SYSDBA
ФБ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
29.07.2020, 15:14
    #39984993
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создать GTT из под не SYSDBA
KreatorXXIГде каких привилегий не хватает?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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