Il n'y a vraiment aucune différence entre un fichier PF créé avec DDS et une table créée avec SQL DDL.
Les deux méthodes aboutissent à un objet * FILE avec un attribut de PF. L'objet résultant de l'une ou l'autre méthode peut être utilisé avec SQL ou avec un accès au niveau d'enregistrement RPG (RLA).
Vous pouvez créer des vues ou des index SQL LDS ou DDS sur une table PF créée par DDS ou une table créée par DDL SQL.
IBM fournit des outils pour générer un DDL SQL pour un objet créé par DDS, mais pas l'inverse. Vous pourriez être en mesure de trouver un outil tiers conçu pour générer DDS si vous perdez votre source DDS. La meilleure pratique aujourd'hui est d'utiliser SQL DDL; autant d'améliorations récentes de la base de données ne sont pas disponibles lors de l'utilisation de DDS.
Si vous pensez avoir besoin d'utiliser DDS pour une compatibilité avec RPG par exemple, vous êtes incorrect. Tout ce que vous devez faire est de tirer parti des mots-clés spécifiques à IBM i.
Au lieu de
create table my_long_table_name (
my_long_column_name char(10)
);
Utilisez
create table my_long_table_name
for system name mytable (
my_long_column_name
for mycol char(10)
) rcdfmt mytabler;
Une table créée avec SQL est un fichier physique. Recommencez pour ne pas confondre vos collègues. – danny117
Accomplir «quoi» avec SQL? Si vous demandez comment créer un index SQL, exécutez une instruction SQL CREATE INDEX. Ou demandez-vous des formats d'enregistrement, et si oui, qu'en est-il d'eux? – user2338816