Às vezes você pode precisar selecionar em array, anexar a array ou inserir array de objetos no PostgreSQL. Neste artigo, veremos como inserir em array no PostgreSQL.
Como inserir em array no PostgreSQL
Aqui estão os passos para inserir no array no PostgreSQL. Digamos que você tenha a seguinte tabela employees(id,name, phone_numbers) de modo que a coluna de números de telefone seja uma matriz de strings.
create table employees (
id int,name varchar,
phone_numbers varchar[]
);
Existem duas sintaxes aceitas para inserir em array no PostgreSQL – uma usando a palavra-chave ARRAY e outra usando aspas e chaves.
Usando a palavra-chave ARRAY
Aqui está a consulta SQL para inserir no array no PostgreSQL usando a palavra-chave ARRAY.
# insert into employees (id, name, phone_numbers) values (1, ' John Doe', ARRAY ['9998765432','9991234567']); # select * from employees; id | name | phone_numbers ----+-----------+------------------------- 1 | John Doe | {9998765432,9991234567}
Na consulta acima, usamos ARRAY ['9998765432′,'9991234567'] para inserir array na coluna PostgreSQL.
Usando aspas simples e chaves
Também podemos inserir no array PostgreSQL usando aspas simples e chaves como mostrado abaixo.
# insert into employees (id, name, phone_numbers) values (2, ' Jim Doe', '{"9996587432","9891334567"}'); # select * from employees; id | name | phone_numbers ----+-----------+------------------------- 1 | John Doe | {9998765432,9991234567} 2 | Jim Doe | {9996587432,9891334567}
No exemplo acima, usamos '{"9996587432″,"9891334567"}' para inserir no array no PostgreSQL.
Observe que, neste caso, as chaves precisam ser colocadas entre aspas simples. Além disso, como estamos inserindo valores de string, eles precisam ser colocados entre aspas duplas, em vez de aspas simples, caso contrário você receberá um erro de sintaxe.
Inserir array de objetos
Você também pode inserir um array de objetos se tiver um array de colunas de array no PostgreSQL. Digamos que você tenha a seguinte tabela de forma que vendas coluna é uma matriz de matriz.
create table employees (
id int,name varchar,
sales int[][]
);
Aqui está a consulta SQL para inserir array de objetos no PostgreSQL.
# insert into employees (id, name, sales) values (2, ' Jim Doe', '{{150,100},{200,100}}'); # select * from employees; id | name | sales ----+----------+----------------------- 2 | Jim Doe | {{150,100},{200,100}}
Observe que você precisa colocar cada objeto de matriz entre chaves separadas, dentro das chaves principais e aspas simples, '{{ 150.100} ,{ 200.100} }' senão você receberá um erro.
Precisa de uma ferramenta de relatório para PostgreSQL? O Ubiq facilita a visualização de dados em minutos e o monitoramento em painéis em tempo real. Experimente hoje!