powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Напоминалка про смену имени генератора
13 сообщений из 13, страница 1 из 1
Напоминалка про смену имени генератора
    #38761839
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ситуация. При создании таблицы назвал ее, к примеру, ANIMALS. Зашел в свойство автоинкремента поля ПК, поставил галку о создании генератора SEQ_ANIMALS_ID. Потом решил, что таблицу надо назвать BIRDS. Переименовал, а потом запустил выполнение создания. В итоге получился генератор, который не для данной таблицы. Есть возможность какого-нибудь контроля такого расхождения? Напоминалка, автопереименование или что-то еще.
...
Рейтинг: 0 / 0
Напоминалка про смену имени генератора
    #38761880
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, и заморачиваться не буду.
...
Рейтинг: 0 / 0
Напоминалка про смену имени генератора
    #38761989
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CyberMax> Есть возможность какого-нибудь контроля такого расхождения?
CyberMax> Напоминалка, автопереименование или что-то еще.

IIRC, там можно галочку перепрожать -
и создастся новый генератор, правильный.
А старый останется как мусор, это да, но
их и выявить проще.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Напоминалка про смену имени генератора
    #38762608
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CyberMax,

Можно использовать что-то вроде:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
create or alter procedure SYS$GETUNUSEDGEN
returns (
    UNUSED_GEN_NAME varchar(32),
    GEN_VALUE bigint)
AS
begin
  /* получить список неиспользуемых генераторов и их значения */
  for select rdb$generators.rdb$generator_name
      from rdb$generators
      where (rdb$generators.rdb$system_flag is null or rdb$generators.rdb$system_flag=0)
      into :unused_gen_name
  do begin
       if (not exists(select rdb$dependencies.rdb$dependent_name
                      from rdb$dependencies
                      where rdb$dependencies.rdb$depended_on_name=:unused_gen_name
                            and rdb$dependencies.rdb$depended_on_type=14)) then
           begin
             execute statement 'SELECT GEN_ID('||:unused_gen_name||',0) AS GEN_VALUE FROM RDB$DATABASE' INTO :gen_value;
             suspend;
           end
     end
end



Для своих нужд доработаешь напильником, если что...
...
Рейтинг: 0 / 0
Напоминалка про смену имени генератора
    #38762621
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMaster>

Забавно, когда люди в разном месте в разное
время приходят к одним и тем же решениям.
Правда, у меня не процедура, а просто вкладка
(запрос) в SQL Editor-е. :)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Напоминалка про смену имени генератора
    #38762696
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

Запросу уже лет и лет... И системные таблицы - они одинаковые ;)

ЗЫ. Последний ехесute statement - чесь слово не помню когда и зачем прилепил. У меня в принципе есть в боевой БД набор таких процедурок. И скриптиков в отдельной табличке с описанием, что это за зверь и для чего оно - раз в год да вдруг понадобится (и палка ведь стреляет;)
...
Рейтинг: 0 / 0
Напоминалка про смену имени генератора
    #38762716
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMaster> Запросу уже лет и лет

Ну так и моему запросу лет 5 или 6.
Хотя это не "лет и лет", конечно. :)

P.S. Я, наоборот, в боевой БД стараюсь не
оставлять таких служебных ХП, генераторов
и прочего мусора - видимо, чистоплюйство
и максимализм-идеализм мешают, если и
создаю, то стараюсь удалить сразу после
того, как они перестали быть нужными.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Напоминалка про смену имени генератора
    #38762765
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

Будем считать, что у меня просто набор служебных процедурок для админа. Что-то вроде аналога sp_xxxx в MSSQL.
...
Рейтинг: 0 / 0
Напоминалка про смену имени генератора
    #38762925
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запрос интересный. Только не подходит, так как генератор почти всегда используется только в exe. Поэтому ХП выдает почти все генераторы.
Появится тройка, там эта мелкая проблема отпадет сама собой.
...
Рейтинг: 0 / 0
Напоминалка про смену имени генератора
    #38762959
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CyberMax,

Гм. У тебя триггеров для автоикрементных полей почти нет выходит?
...
Рейтинг: 0 / 0
Напоминалка про смену имени генератора
    #38763034
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMaster,

Их вообще нет. Программа сама динамически генерирует запросы на вставку, впрочем, как и все другие.
...
Рейтинг: 0 / 0
Напоминалка про смену имени генератора
    #38763206
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CyberMax,

Если ты о том, о чем я подумал - то ССЗБ. Ссылочная целостность тоже самостоятельно?

Неиспользуемые генераторы в твоем случае превращаются в "неуловимого Джо". Как впрочем и все остальные обьекты в БД.
...
Рейтинг: 0 / 0
Напоминалка про смену имени генератора
    #38763235
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMasterЕсли ты о том, о чем я подумал - то ССЗБ.
И о чем ты подумал? :)

DarkMasterСсылочная целостность тоже самостоятельно?
Нет конечно, все через FK. А какая связь между генераторами и FK?

DarkMasterНеиспользуемые генераторы в твоем случае превращаются в "неуловимого Джо".
Вроде того. Периодически визуально просматриваю список генераторов на предмет тех, кого быть не должно. Автоматизировать не получается.

DarkMasterКак впрочем и все остальные обьекты в БД.
ХП - частично да, если вызываются исключительно из exe. Насчет остальных - не вижу ничего криминального.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Напоминалка про смену имени генератора
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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