powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Ibexpert запрос на наличие данных в таблицах?
25 сообщений из 84, страница 1 из 4
Ibexpert запрос на наличие данных в таблицах?
    #37798735
TT_34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день...вобщем вопрос такой:как написать скрипт чтобы проверялись все таблицы на наличие данных,если в табл нет данных,выводился список таблиц...Понимаю что ничего сложного нет,но сталкиваюсь с этим первый раз...вопрос масса проконсультироватся возможности нет,да и в книгах искать нет возможности сроки поджимают...всем большое спасибо!!!
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37798858
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
execute block returns (empty_table varchar(31)) as
declare v_cnt smallint;
declare v_sql varchar(255);
begin
    for
        select r.rdb$relation_name
        from rdb$relations r
        where coalesce(r.rdb$system_flag,0)=0 -- не смотрим на системные таблицы
        and r.rdb$relation_type not in(4,5) -- убираем GTT'шки
        and r.rdb$view_source is null -- убираем вьюхи
    into empty_table
    do begin
      v_sql='select count(*) from (select first 1 * from '||empty_table||')';
      execute statement (v_sql) into :v_cnt;
      if (v_cnt=0) then suspend;
    end
end
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37798882
TT_34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таблоид,

а как сделать так чтоб они сохранились в txt,exsel?
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37798886
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TT_34,

когда получите результирующий набор (в IBE), ткните по нему правой кнопкой мыши и укажите "copy records to clipboard". Затем перейдите в Excel и там выполните вставку из буфера. Результат вас обрадует.
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37798893
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select count это не наш метод. гораздо быстрее gstat, только парсить текст придется самому.
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37798894
TT_34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таблоид,

cannot perform operation db is not open при выполнении ошибка.
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37798905
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvselect count это не наш метод. гораздо быстрее gstatпосмотри повнимательнее. Я не делаю count по ВСЕЙ таблице. Статистика для моего продакшена (около 200 таблиц):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Execute time = 32ms
Avg fetch time = 2,46 ms
Current memory = 19 143 936
Max memory = 19 351 896
Memory buffers = 1 024
Reads from disk to cache = 0
Writes from cache to disk = 0
Fetches from cache = 1 327
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37798906
TT_34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv,

я не разбираюсь в этом вообще,единственный запрос который адекватно работал был selest from ****
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37798908
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TT_34,

откройте базу (двойной клик по ней в IBE), затем нажмите F12 и туда вставьте вышеприведенный запрос. Далее нажмите F9.
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37798912
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид: а, да, все замечательно.
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37798913
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TT_34я не разбираюсь в этом вообще
тогда вообще не надо трогать. я же не лезу в трактор, например.
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37798920
TT_34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv,

есть слово надо...
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37798924
TT_34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ТаблоидTT_34,

откройте базу (двойной клик по ней в IBE), затем нажмите F12 и туда вставьте вышеприведенный запрос. Далее нажмите F9.

Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 1, char 8.
block.


ошибка при выполнении...
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37798929
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TT_34ошибка при выполнении...
у тебя сервер какой - MS SQL?
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37798936
TT_34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv,

вроде да...
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37798977
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид,

Код: sql
1.
select count(*) from (select first 1 * from

любишь ты в гланды через ж лезть...

PS
Код: sql
1.
select first 1 1 from
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37798987
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TT_34вроде да...
когда будет InterBase или Firebird - приходи обратно, и не забудь сообщить точную версию.
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37799039
TT_34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv,

клиент управления подлючен ibexpert....Спасибо вам большое что мучаетесь со мной,дай вам бог терпения......
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37799049
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TT_34Спасибо вам большое что мучаетесь со мной
да мы уже не мучаемся. execute block работает начиная с определенных версий Firebird, и не работает в InterBase любых версий.
если в вашей версии execute block нет, то решение "скриптом" будет более сложным, и вам не по силам.

p.s. я вам уже подсказал насчет трактора - я не лезу туда, где ничего не знаю. Если меня просят отремонтировать трактор, я просто говорю "нах", а не лезу в книги или на форумы.
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37799064
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladлюбишь ты в гланды через ж лезть...
PS
Код: sql
1.
select first 1  1  from

Не прокатывает.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
C:\1INSTALL\FIREBIRD\FB_25>isql 192.168.0.60:/var/db/firebird/somebase.fdb -user sysdba -pas masterke
Database:  192.168.0.60:/var/db/firebird/somebase.fdb, User: sysdba
SQL> set term ^;
SQL> execute block returns (empty_table varchar(31)) as
CON> declare v_cnt smallint;
CON> declare v_sql varchar(255);
CON> begin
CON>     for
CON>         select r.rdb$relation_name
CON>         from rdb$relations r
CON>         where coalesce(r.rdb$system_flag,0)=0 -- не смотрим на системные таблицы
CON>         and r.rdb$relation_type not in(4,5) -- убираем GTT'шки
CON>         and r.rdb$view_source is null -- убираем вьюхи
CON>     into empty_table
CON>     do begin
CON>       v_sql='select 1  1  from '||empty_table||'';
CON>       execute statement (v_sql) into :v_cnt;
CON>       if (v_cnt is null) then suspend;
CON>     end
CON> end^

EMPTY_TABLE
===============================
Statement failed, SQLSTATE = 42000
Dynamic SQL Error
-SQL error code = -104
-Token unknown - line 1, column 10
-1
SQL> set term ;^
SQL> commit;

ЗЫ. Хотя без execute statement - да, работает:
Код: plaintext
1.
2.
3.
4.
SQL> select first 1 1 from doc;

    CONSTANT
============
           1
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37799131
TT_34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv,

только все равно ошибку выдает и не работает=(
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37799184
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TT_34только все равно ошибку выдает и не работает=(
Значит ответом к слову "надо" будет "невозможно".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37799189
TT_34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
select rdb$relation_name,
cast(rdb$statistics as numeric(15,13)) from rdb$indices
where rdb$index_name starting with 'RDB$PRI'
order by rdb$statistics


что дописать в коде чтоб выдавал таблицы в которых все значения равны null?
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37799193
Энди Таккер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидНе прокатывает.
...
Код: plaintext
v_sql='select 1  1  from '||empty_table||'';

А ты попробуй
Код: plaintext
v_sql='select  first 1  1 from '||empty_table||'';
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37799196
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидНе прокатывает. пардон, я тупко....
вот правильный и работающий код (2hvlad: спасибо):
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
execute block returns (empty_table varchar(31)) as
declare v_cnt smallint;
declare v_sql varchar(255);
begin
    for
        select r.rdb$relation_name
        from rdb$relations r
        where coalesce(r.rdb$system_flag,0)=0 -- не смотрим на системные таблицы
        and r.rdb$relation_type not in(4,5) -- убираем GTT'шки
        and r.rdb$view_source is null -- убираем вьюхи
    into empty_table
    do begin
      v_cnt=null;
      v_sql='select first 1 1 from '||empty_table||'';
      execute statement (v_sql) into :v_cnt;
      if (v_cnt is null) then suspend;
    end
end
...
Рейтинг: 0 / 0
25 сообщений из 84, страница 1 из 4
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Ibexpert запрос на наличие данных в таблицах?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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