Aquele mesmo projeto que estou trabalhando me exigiu aprender como adicionar um array em tabelas do PostgreSQL. É algo bem simples de se utilizar. Vamos começar criando uma tabela que recebe os arrays:
CREATE TABLE entrada ( id SERIAL PRIMARY_KEY, nf integer, data_reg timestamp without time zone DEFAULT now(), data_inst timestamp without time zone, descricao text, materiais text[][], funcionario varchar(50) )
Criei uma tabela chamada entrada, que serve para registrar materiais vindos para a instituição. As rows possuirão:
- id (PRIMARY_KEY),
- nf (número de nota fiscal),
- data_reg (data em que a query será registrada),
- data_inst (data que entrou na instituição),
- descricao (qualquer observação que precisem colocar)
- funcionario (id do funcionário que realizou a operação)
- materiais (É nesse momento que inserimos os arrays...
Nesse caso, criei um campo (materiais), que é um array de arrays. Coloco o tipo de campo, no caso text e o que define-o como array "[]", coloquei os colchetes duas vezes por que intenção é que eu possa colocar vários materiais em diferentes quantidades para cada entrada.) Será necessário agora saber como adicionar ítens em sua tabela:
INSERT INTO entrada(
nf,
data_reg,
data_inst,
descricao,
materiais,
funcionario
)
VALUES
(
'65184621',
'2012-03-04 16:21:55',
'2012-03-09 14:52:45',
'Entrada de material no setor',
'George Bezerra',
ARRAY [
['Resma A4 Clone',14],
['Caixa de Canetas BIC',9]
]
)Não vou explicar como funciona o INSERT do PostgreSQL. No valor do ítem materiais, temos um ARRAY[] que tem arrays: []. Não precisamos escrever ARRAY[], dentro de um array. Colocamos somente os valores dentro dos colchetes, da forma que está escrita no exemplo acima.
Como eu já havia dito, a dica de hoje é bem simples. Espero ter ajudado e até a próxima.
