Я наткнулся на аккуратную статью об использовании generate_series для создания табличных данных. автор делает большую работу по объяснению кода, но есть некоторые вещи, которые я до сих пор не понимаю. х после псевдонима comp3syl(x)
и z2(x)
- это присвоение имени столбца производной таблицы x? И как называется этот синтаксис? У меня проблемы с поиском документации без ключевых слов
SELECT(
SELECT concat_ws(' ',name_first, name_last) as generated
FROM (
SELECT string_agg(x,'')
FROM (
select start_arr[ 1 + ( (random() * 25)::int) % 16 ]
FROM
(
select '{CO,GE,FOR,SO,CO,GIM,SE,CO,GE,CA,FRA,GEC,GE,GA,FRO,GIP}'::text[] as start_arr
) syllarr,
-- need 3 syllabes, and force generator interpretation with the '*0' (else 3 same syllabes)
generate_series(1, 3 + (generator*0))
) AS comp3syl(x)
) AS comp_name_1st(name_first),
(
SELECT x[ 1 + ( (random() * 25)::int) % 14 ]
FROM (
select '{Ltd,& Co,SARL,SA,Gmbh,United,Brothers,& Sons,International,Ext,Worldwide,Global,2000,3000}'::text[]
) AS z2(x)
) AS comp_name_last(name_last)
)
FROM generate_series(1,10000) as generator
для всех, кто интересуется вот ссылка на статью: https://regilero.github.io/postgresql/english/2017/06/26/postgresql_advanced_generate_series/