ARRAY est prévu dans le standard SQL mais n'est quasiment pas implémenté[]
CREATE TABLE Personne (
nom VARCHAR(50),
prenoms VARCHAR(50)[]
) ;
INSERT INTO Personne VALUES ('Dumbledore', ARRAY ['Albus', 'Percival', 'Wulfric', 'Brian']);
-- ou bien
INSERT INTO Personne VALUES ('Dumbledore', '{Albus, Percival, Wulfric, Brian}');
SELECT * FROM personne ;
nom | prenoms
------------+--------------------------------
Dumbledore | {Albus,Percival,Wulfric,Brian}
(1 row)
SELECT prenoms[2] AS "2e_prenom" FROM Personne;
2e_prenom
-----------
Percival
(1 row)VARRAY et TABLE
VARRAY est destiné au tableaux de tailles fixe, nécessite la définition d'un typeCREATE TYPE type_prenoms AS VARRAY(4) OF VARCHAR(50);
CREATE TYPE Personne (
nom VARCHAR(50),
prenoms type_prenoms
) ;
INSERT INTO Personne VALUES ('Dumbledore', type_prenoms('Albus', 'Percival', 'Wulfric', 'Brian'));