возможно в CH?
Пример:
Мне нужно проитерироваться по списку таблиц и собрать пары имя-количество строк в результирующую таблицу
Можно ли реализовать что-то подобное в КХ?
В постгре я бы сделал это так:
do $$
DECLARE
tbls text[] := ARRAY['tablename1', 'tablename2', 'tablename3'];
tbl_id text; -- счетчик для переборки таблиц
BEGIN
drop table if exists result;
create temp table result
(
tablename text,
rows_qnty int
);
FOREACH tbl_id IN ARRAY tbls
LOOP
EXECUTE format(
'insert into result (tablename, rows_qnty)
select ''%1$s'' as table_id
, count(*)
from database.%1$s',
tbl_id);
END LOOP;
END $$;
Спасибо!
select database, name, total_rows from system.tables where ...
bash/python/ruby... любой скриптовый язык в помощь, внутри нельзя
в реальности все немного сложнее количества строк, конечно же, увы)
Понял. Мне просто нужно это все положить в PowerBI, и туда сверху запроса скрипт, насколько я понимаю, особо не прикрутить. Придется делать кучу union'ов
Если непременно нужен цикл, то только каким-то внешним скриптом
Понял, спасибо!
Обсуждают сегодня