Insert array structure
Синтаксис вставки конкретных столбцов для массива структур, при этом нужно вставить массив из неполных структур.
Пример Таблица (column_name1, ..., column_namei) column_namei = array [структура] структура = [текст field1_name, текст field2_id, текст field3_phone, текст field4_address] Хочу вставить [{'name1', '+7 (495) 383 88, 22 '}, {' name2 ',' +5 (555) 838 44 44 '}, {' name3 ',' +3 (333) 333 33 33 '}]
Ответы (1 шт):
Автор решения: Ainar-G
→ Ссылка
Из вашего вопроса не ясны многие детали. Вот простой пример таблицы с массивом композитных типов:
CREATE TYPE typ_1 AS (
name TEXT
, phone TEXT
)
;
CREATE TABLE t_1 (
id BIGINT PRIMARY KEY GENERATED ALWAYS AS IDENTITY
, field typ_1[]
)
;
INSERT INTO t_1
( field)
VALUES
(CAST(ARRAY[('main', '1234'), ('other', '5678')] AS typ_1[]))
;
SELECT id
, field[1].name
, field[1].phone
, field[2].name
, field[2].phone
FROM t_1
;