powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как проверить наличие индекса перед его созданием
12 сообщений из 12, страница 1 из 1
Как проверить наличие индекса перед его созданием
    #39726577
Term
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно чтоб скрипт создавал индекс,
есть исполнитель скриптов

как проверить?
думал сделать временную хранимку
или execute block использовать,
но в них нельзя вызвать Create Index...
...
Рейтинг: 0 / 0
Как проверить наличие индекса перед его созданием
    #39726583
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Termкак проверить?

Запросом к системным таблицам.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как проверить наличие индекса перед его созданием
    #39726620
Term
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Запросом к системным таблицам.
[/quot]

это я как раз знаю

Код: sql
1.
2.
3.
4.
 SELECT count(*)
 FROM RDB$INDICES
 WHERE RDB$RELATION_NAME='TABLE_NAME'
 and RDB$INDEX_NAME = 'INDEX_NAME'



дальше то как?
CREATE INDEX это DDL запрос и выполнить его при использовании каких либо условий никак

пример
я думал сделать вот так

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
execute block
as
declare variable cnt integer;
begin
cnt=0;
 SELECT count(*)
 FROM RDB$INDICES
 WHERE RDB$RELATION_NAME='ITEMS'
 and RDB$INDEX_NAME = 'IND_ITEMS_MED_ID'
 into :cnt;
 if (:cnt<>0) then exit;
  CREATE INDEX IND_ITEMS_MED_ID ON ITEMS (MED_ID);
end;


Но ругается на CREATE
...
Рейтинг: 0 / 0
Как проверить наличие индекса перед его созданием
    #39726625
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Termдальше то как?

Это уже вопрос к твоему "исполнителю скриптов".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как проверить наличие индекса перед его созданием
    #39726627
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
возьми IBEScript, он это умеет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как проверить наличие индекса перед его созданием
    #39726629
Котовасия
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Termкак проверить?
Поймать и обработать исключение, возникающее при попытке повторно создать... :)
...
Рейтинг: 0 / 0
Как проверить наличие индекса перед его созданием
    #39726632
Котовасия
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TermНо ругается на CREATE
В EB используй икзикьют стейтмент...
...
Рейтинг: 0 / 0
Как проверить наличие индекса перед его созданием
    #39726634
Term
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну т.е. в языке таких возможностей не предусмотрено,
нужен только инструмент как я понимаю?

печалька...
...
Рейтинг: 0 / 0
Как проверить наличие индекса перед его созданием
    #39726635
Котовасия
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Termну т.е. в языке таких возможностей не предусмотрено,
нужен только инструмент как я понимаю?

печалька...
В каких еще "языках"?
...
Рейтинг: 0 / 0
Как проверить наличие индекса перед его созданием
    #39726636
Term
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КотовасияTermНо ругается на CREATE
В EB используй икзикьют стейтмент...
спасибо! попробую!
...
Рейтинг: 0 / 0
Как проверить наличие индекса перед его созданием
    #39726637
Котовасия
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TermКотовасияпропущено...

В EB используй икзикьют стейтмент...
спасибо! попробую!
Не пинайте меня, коллеги...
...
Рейтинг: 0 / 0
Как проверить наличие индекса перед его созданием
    #39726646
Term
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Котовасия,

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


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