Это код, который мне нужен для создания строки ДНК:
prepare dna_length(int) as
with t1 as (
select chr(65) as s
union select chr(67)
union select chr(71)
union select chr(84) )
, t2 as ( select s, row_number() over() as rn from t1)
, t3 as ( select generate_series(1,$1) as i, round(random() * 4 + 0.5) as rn )
, t4 as ( select t2.s from t2 join t3 on (t2.rn=t3.rn))
select array_to_string(array(select s from t4),'') as dna;
execute dna_length(20);
Я пытаюсь понять, как переписать это, чтобы получить таблицу из 5 строк строк ДНК длиной 20 каждая вместо одной строки. Это для PostgreSQL.
Я старался:
CREATE TABLE dna_table(g int, dna text);
INSERT INTO dna_table (1, execute dna_length(20));
Но это, похоже, не работает. Я абсолютный новичок. Как это сделать правильно?