Bonjour,

Je me suis toujours posé la question des ARRAYs et de leur utilisation.

Je me suis, enfin, décidé à tenter l'expérience en testant sur la base de données employee, la table JOB qui contient la colonne Language_REQ , un array [5] de VARCHAR dont je ne connais pas la taille
Avec Flamerobin, DBeaver pas moyen d'obtenir de valeurs.
Flamerobin (0.9.3) la structure détectée n'est pas la bonne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
CREATE TABLE JOB
(
  JOB_CODE JOBCODE NOT NULL,
  JOB_GRADE JOBGRADE NOT NULL,
  JOB_COUNTRY COUNTRYNAME NOT NULL,
  JOB_TITLE VARCHAR(25) NOT NULL,
  MIN_SALARY SALARY NOT NULL,
  MAX_SALARY SALARY NOT NULL,
  JOB_REQUIREMENT BLOB SUB_TYPE 1,
  LANGUAGE_REQ VARCHAR(15),
  CONSTRAINT INTEG_10 PRIMARY KEY (JOB_CODE,JOB_GRADE,JOB_COUNTRY)
);
Avec DBeaver (23.2.0) la structure détectée est comme celle de Flamerobin avec un petit plus en allant sur l'onglet data on obtient le message
SQL Error [0A000]: Types.ARRAY: SQL type for this field is not yet supported.
cependant, avec Firedac et Delphi j'obtiens quelque chose de plus efficace

Nom : Capture.PNG
Affichages : 183
Taille : 37,7 Ko

Ce qui me permet de me dire que tout n'est pas perdu, simplement que je n'ai pas le bon outil graphique (GUI) pour gérer les ARRAYs (de là à en faire un, il y a un pas que je n'oserai franchir).
Bien sûr, il me reste ISQL .

Questions :
Quelqu'un a-t-il déjà utilisé les arrays ?
J'ai tenté une recherche sur un des élements de la table i.e SELECT * FROM JOB WHERE Language_REQ[3]='French' sans succès alors que
Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT * FROM JOB WHERE CAST(Language_REQ AS VARCHAR(125)) CONTAINING 'French'
fonctionne
* Note pourquoi 125, obtenu en deux fois, j'ai pansé d'abord à 15*5 à cause du varchar de Flamerobin