powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Ibexpert запрос на наличие данных в таблицах?
84 сообщений из 84, показаны все 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
Ibexpert запрос на наличие данных в таблицах?
    #37799199
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Энди Таккер,

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

А нафига к SQL прилепливать пустую строку в конце? Достаточно:

Код: plsql
1.
 v_sql='select first 1 1 from '||:empty_table;
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37799473
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMaster, осталось от первой попытки (я не помнил точный синтаксис)
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37800118
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 запрос на наличие данных в таблицах?
    #37800236
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TT_34Вот этот код работает,а тот нет.как изменить его чтобы выдовал значения null.Какой "тот", что не работает ?
И как связано наличие записей в таблицах со статистикой индексов, да еще с какими-то подозрительными именами ('RDB$PRI...') ?
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37800242
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидИ как связано наличие записей в таблицах со статистикой индексов
есть такой трюк, определение количества записей по статистике. но для этого нужно сначала однозначно пересчитать статистику. и выбирать не все записи, а те, у которых селективность будет равна 1. Ибо селективность = 1/(кол-во_ключей - кол-во_дубликатов). 1/(0-0) = 1.
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37800244
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл дописать. у ПК дубликатов нет, так что 1/селективность = кол-во ключей, или записей.
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37800265
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

ну так ему надо не ЧИСЛО записей, а вообще наличие: "есть" / "нихт".
Кроме того, при наличии мусора определение числа записей даже по индексу ПК будет врать.
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37800286
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидКроме того, при наличии мусора определение числа записей даже по индексу ПК будет врать.У нас версионник. Для разных транзакций в один и тот же момент времени запросто может быть разное кол-во записей.
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37800296
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоидну так ему надо не ЧИСЛО записей, а вообще наличие: "есть" / "нихт".
0 записей - селективность 1.
правда, если 1 запись, то селективность тоже будет 1, потому что 1/1 = 1.

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

Воощем задача такова:бд в ней до .... таблиц, мне надо проверить таблицы,в которых по всем строкам значение null выписать...самое интересное что мне это все предложили сделать ручками,а я хитрить начал...я больше силен в 1с чем в sql,а вернее sql в глаза не видел...только теоритически на лекция когда в асе сидел.
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37800389
TT_34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таблоид,kvd спасибо большое что продолжаете мучатся со мной....
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37800423
Граур Станислав
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TT_34kdv,
Воощем задача такова:бд в ней до .... таблиц, мне надо проверить таблицы,в которых по всем строкам значение null выписать...самое интересное что мне это все предложили сделать ручками,а я хитрить начал...я больше силен в 1с чем в sql,а вернее sql в глаза не видел...только теоритически на лекция когда в асе сидел.

У твоего sql сервера имя и версия есть?
"По всем строкам значение NULL" -- в каком-то определенном столбце или как?


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

как посмотреть через ibexpert?я студент (очник,свободное посещение) защита в июле,работаю уже 1,5 года на предприятии....1 год работал с 1с в7.7 справлялся ,5 месяцев назад перевели в другой отдел помогать...
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37800461
TT_34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Server Version Info
---------------------------------------------------------------------------
Server Version: WI-V6.5.0.28
Server Implementation: InterBase/x86/Windows NT
Service Version: 2


Configuration Info
---------------------------------------------------------------------------
Base File: C:\Program Files\Borland\InterBase/
Lock File: C:\Program Files\Borland\InterBase/
Message File: C:\Program Files\Borland\InterBase/
Security Database: C:\Program Files\Borland\InterBase/isc4.gdb

MEMMAX_KEY: 0


Database Info
---------------------------------------------------------------------------
Number of connections: 1
Number of databases: 1
Databases: C:\IBSHADOW\INDUST~1.GDB

---------------------------------------------------------------------------

нужны таблицы списком в которых по всем полям значения null
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37800466
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тебе дали задания, чтоб б ты не скучал, а ты всю работу норовишь за пару дней сделать. :)
прям как "ребята, складывайте числа от 1 до 100" вот только препод не знал формулы на тот момент, ее как раз ученик и придумал, он потом много еще чего напридумал. :)
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37800496
TT_34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ivan_Pisarevsky,

да тут вообще ситуация тяжелая...ничего сказать нельзя...сразу сдают...а опыт нужен...так что так.
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37800510
TT_34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
так в каком направлении двигатся?
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37800569
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TT_34так в каком направлении двигатся?

ну так сначала ответить вот на этот вопрос

Граур Станислав "По всем строкам значение NULL" -- в каком-то определенном столбце или как?


ибо от твоего ответа

TT_34нужны таблицы списком в которых по всем полям значения null

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

Выписываешь из базы список таблиц. Для каждой таблицы смотришь данные (глазами). Попался
не-NULL - ставишь напротив таблицы крестик. Не попался - галочку.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37800586
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TT_34так в каком направлении двигатся?

В эксперте получить статистику БД с сервера (Main Menu | Services | Database Statistics), перейти за закладку Tables и отсортировать данные по столбцу Records.
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37800721
TT_34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
m7mTT_34так в каком направлении двигатся?

ну так сначала ответить вот на этот вопрос

Граур Станислав "По всем строкам значение NULL" -- в каком-то определенном столбце или как?


ибо от твоего ответа

TT_34нужны таблицы списком в которых по всем полям значения null

только дополнительные вопросы возникают

взначение null должно быть во всей строке....
(а)
1.................null..null...................null................null
2.................null..null...................null..................ок- таблица не входит в список

(б)
1.................null..null...................null................null
2.................null..null...................null................null таблица входит в список
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37800820
Граур Станислав
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TT_34(б)
1.................null..null...................null................null
2.................null..null...................null................null таблица входит в список

-А что в храните в это таблице?
-В ней мы храним НИЧЕГО!
-Как много?
-100500 строк
-И много у вас таких таблиц?
-По нашим прикидкам over 9000. Ну, наверное... Эй, студент, пойди ка сюда...
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37800847
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. в excel нет null, насколько я понимаю. Ведь задача экспортировать этот список в txt или excel.
2. IBExpert тебе уже дал ответ. То же самое можно сделать, например в IBAnalyst. Из обоих средств можно данные скопировать и вставить в excel.

проблема в том, что с пунктом 2 нет никаких скриптов. Увы.
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37800896
TT_34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv1. в excel нет null, насколько я понимаю. Ведь задача экспортировать этот список в txt или excel.
2. IBExpert тебе уже дал ответ. То же самое можно сделать, например в IBAnalyst. Из обоих средств можно данные скопировать и вставить в excel.

проблема в том, что с пунктом 2 нет никаких скриптов. Увы.

а вывести на печать?засунуть в ворд? должны быть какие то варианты=)
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37800900
TT_34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Граур СтаниславTT_34(б)
1.................null..null...................null................null
2.................null..null...................null................null таблица входит в список

-А что в храните в это таблице?
-В ней мы храним НИЧЕГО!
-Как много?
-100500 строк
-И много у вас таких таблиц?
-По нашим прикидкам over 9000. Ну, наверное... Эй, студент, пойди ка сюда...

печально когда люди забывают свои студ.годы...особенно когда родители помогают и оберегают=)
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37800905
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TT_34должны быть какие то варианты=)
Нет никаких вариантов. Тебя послали кнехты осаживать - вот и осаживай.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37800919
TT_34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovTT_34должны быть какие то варианты=)
Нет никаких вариантов. Тебя послали кнехты осаживать - вот и осаживай.


пока нилл >1 цикл
если нилл=1 тогда нилл=0.......должна же быть возможность замены значений как и везде...
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37800944
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TT_34должна же быть возможность замены значений как и везде...

Да при чём тут возможность... Объясняю медленно: тебя послали пересчитать таблицы чтобы ты
под ногами не путался. Вот иди и тихо в уголке эти таблицы пересчитывай.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37800960
TT_34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

так сдесь вроде не обсуждаю зачем меня послали и куда,я прошу совет как автоматизировать этот процесс чтоб я дальше мог заниматся своими делами тихо и спойно...если бы знал как как это реализовать на языке не воровал бы ваше драгоценное время...глупыми вопросами и.д
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37800992
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TT_34я прошу совет как автоматизировать этот процесс
Никак. Точка.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37801002
TT_34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovTT_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
---------------------------------------
данный код отбирает=)
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37801004
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TT_34а вывести на печать?засунуть в ворд?
издеваешься? если можно СКОПИРОВАТЬ данные, то их можно "засунуть" в word, excel, txt и вывести на печать. Или от тебя требуют все это сделать "скриптом"?

или, о ужас, если ты программист, тебя заставляют все это ЗАПРОГРАММИРОВАТЬ?
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37801008
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TT_34данный код отбирает
ты все равно не понимаешь, что он отбирает. Тем более что в этом столбце будет 1 как у таблиц с 0 записей, так и у таблиц с 1 записью. И я уже говорил, что перед этим статистику нужно пересчитать. И т.д.
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37801016
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TT_34данный код отбирает=)
Совсем не то что тебе нужно. Есть разница между "таблицей в которой записей нет" и
"таблицей в которй все записи заполнены NULL-ами".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37801079
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TT_34бд в ней до .... таблиц, мне надо проверить таблицы,в которых по всем строкам значение null выписать...Через динамический sql ваша задача решается. Но сначала вопрос: а каким образом данные в таблицах оказались сплошняком (во всех поляъ и строках) null'ами ? я просто хочу понять, как такое могло произойти на практике (про insert into some_table defaults - знаю, но это явно не из реальной практики).
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37801087
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov"таблицей в которй все записи заполнены NULL-ами".Архинаиполезнейшая вешь, себе что ли такую завести? Отлить в граните,в рамочку и на стенку повесить.
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37801096
TT_34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ТаблоидTT_34бд в ней до .... таблиц, мне надо проверить таблицы,в которых по всем строкам значение null выписать...Через динамический sql ваша задача решается. Но сначала вопрос: а каким образом данные в таблицах оказались сплошняком (во всех поляъ и строках) null'ами ? я просто хочу понять, как такое могло произойти на практике (про insert into some_table defaults - знаю, но это явно не из реальной практики).

бд весит около 10 гиг,как я думаю теоритически......в ней чертежи,доки,цифровые подписи и т.д,меж собой они ссылаются друг на друга, null'ами она могла заполнится в связи удалением данных...данные удалили а табличка осталась...
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37801102
TT_34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovTT_34данный код отбирает=)
Совсем не то что тебе нужно. Есть разница между "таблицей в которой записей нет" и
"таблицей в которй все записи заполнены NULL-ами".


согласен...не правильно выразился,извините....пустых таблиц не встречалось пока что,встречаются с null'ами.
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37801105
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TT_34null'ами она могла заполнится в связи удалением данных...данные удалили а табличка осталась...Удаление данных (DELETE from some_table) приводит к удалению ЗАПИСЕЙ.
А ваш случай - это update some_table set f01=null, f02=null, ...
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37801118
TT_34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ТаблоидTT_34null'ами она могла заполнится в связи удалением данных...данные удалили а табличка осталась...Удаление данных (DELETE from some_table) приводит к удалению ЗАПИСЕЙ.
А ваш случай - это update some_table set f01=null, f02=null, ...

я уже тут запутался совсем....как их отобрать?

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 запрос на наличие данных в таблицах?
    #37801135
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TT_34,

посмотрите таки в несколько таблиц в IBExpert'e, во вкладке 'Data': вы действительно там видите null'ы во ВСЕХ столбцах и первых NN строках ? Хотя бы одна такая таблица есть или нет ?
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37801154
oleg_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Беда в том, что если смотреть именно в грид, там всегда будет одна строка с <null> во всех полях. Даже если таблица пустая
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37801168
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oleg_m,

хм... а как тогда у мну получилось вот это:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
recreate table zzz_tst(id int, f01 int);
commit;
insert into zzz_tst values(null,null);
insert into zzz_tst values(null,null);
insert into zzz_tst values(null,null);
insert into zzz_tst values(null,null);
insert into zzz_tst values(null,null);
commit;
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37801176
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oleg_mБеда в том, что если смотреть именно в грид, там всегда будет одна строка с <null> во всех полях. Даже если таблица пустая

А на номер записи посмотреть, ну там чуток подняв глаза от самой гридки
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37801189
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oleg_mБеда в том, что если смотреть именно в грид, там всегда будет одна строка с <null> во всех полях. Даже если таблица пустаясорри, я не правильно тебя понял; ТСу надо узнать, есть ли в таблице ХОТЬ КАКИЕ-ТО данные, отличные от null. Если таблица пустая (0 строк), то это его не интересует, ибо ответ очевиден.
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37801196
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидЕсли таблица пустая (0 строк), то это его не интересует, ибо ответ очевиден.

Это тебе он очевиден. А он смотрит на вкладку "Data" и видит строчку из <null>-ов.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37801201
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидТСу надо узнать, есть ли в таблице ХОТЬ КАКИЕ-ТО данные, отличные от null.
тогда ТС бредит, потому что в начале он сказал
"чтобы проверялись все таблицы на наличие данных,если в табл нет данных,"
потом начались какие-то null. Полагаю, что null - это все же "нет данных", а не значения null.
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37801202
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я бы еще спросил, купленный этот IB 6.5, или тыренный.
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37801233
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvупленный этот IB 6.5, или тыренный.а, так у него "это"... тогда я пас :-)
на всякий случай - вот для ФБ, может таки пригодится:
Код: sql
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.
30.
31.
32.
execute block returns( non_empty_table varchar(31 )) as
declare v_cnt int;
declare v_expr varchar(2048);
begin
    for
    with
    s as(
        select
            r.rdb$relation_name tname
            ,rf.rdb$field_position fpos
            ,rf.rdb$field_name fname
        from rdb$relations r
        join rdb$relation_fields rf on r.rdb$relation_name=rf.rdb$relation_name
        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 -- убираем вьюхи
    )
    ,c as(
        select
        s.tname,s.fname,s.fpos
        ,'+coalesce(count('||trim(lower(s.fname))||'),0)' cnt
        from s
    )
    select c.tname,'select '||substring(list(c.cnt,'') from 2) ||' from '||lower(c.tname) expr
    from c
    group by c.tname
    into non_empty_table, v_expr
    do begin
        execute statement (v_expr) into v_cnt;
        if (v_cnt=0) then suspend;
    end
end

(решение НЕ эффективное, т.к. не останавливается при обнаружении первой строки с not-null значениями, а молотит "до упора"; PSQL-циклом с немедленным выходом быстрее будет, конечно же).
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37801282
TT_34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdvя бы еще спросил, купленный этот IB 6.5, или тыренный.

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

В этой таблице нет записей. Вообще.
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37801497
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TT_34вот такие таблицы нужно отсортировать
в IB 6.5 нет execute block и execute statement. Значит все, что предлагал Таблоид, работать не будет.
Значит "скриптом" не получится, если только не через IBEBlock в IBExpert, но о его возможностях я не имею понятия.
Другие способы - написать программу.
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37801498
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TT_34вот такие таблицы нужно отсортировать

епрст, всего на четвертой странице топика узнали что-же надо на самом деле

:(
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37801512
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, и нельзя использовать select count(*) from table, потому что тебя порешат за такое.
а метод
"select count(*) from (select first 1 * from table)"
в 6.5 не сработает - там нет ни first, ни derived tables.

получается тупик. Можно написать программу, но она будет долго работать (и будет грузить сервер). Впрочем, зависит от количества таблиц и кол-ва записей в них (от размера базы, грубо говоря).

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

задание само собой..........на меня туту стучать начал
"напарник"
так сказать,и тут же мне дали эту фигню....
вот ручками прошел на сегодня 146 таблиц.........осталось еще огогогогогогого
...
Рейтинг: 0 / 0
Ibexpert запрос на наличие данных в таблицах?
    #37803724
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TT_34вот ручками прошел на сегодня 146 таблиц.........осталось еще огогогогогогого

Все правильно: не можешь работать головой - работай руками.
...
Рейтинг: 0 / 0
84 сообщений из 84, показаны все 4 страниц
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Ibexpert запрос на наличие данных в таблицах?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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