Faq/Base/128/fr

From The Document Foundation Wiki
< Faq‎ | Base‎ | 128
Jump to: navigation, search

Comment créer une table à partir d'un SELECT ?

Il est possible de créer une table à partir d'un SELECT via le menu Outils ▸ SQL en exécutant une instruction du type :

SELECT <NomChamp> [, ...] INTO CACHED "NomNouvelleTable"  FROM "NomTableInitiale" [WHERE <expression>]

On souhaite par exemple créer une nouvelle table à partir de cette sélection :

copie d'écran en bas le sql en haut les enregistrement sélectionnés
Sélection de départ

Le SQL à partir duquel on souhaite créer une nouvelle table :

SELECT "ID_Table", "Nom", "DateNaissance" FROM "Table1" WHERE "Nom" LIKE 'D%'

Pour créer la table, exécuter via le menu Outils ▸ SQL :

copie d'écran du dialogue Outils SQL (en haut l'instruction à exécuter, en bas statut du résultat)
Création via le menu Outils > SQL

Ci-dessous le SQL à exécuter :

SELECT "Nom", "DateNaissance" INTO  CACHED "Nouvelle"  FROM "Table1" WHERE "Nom" LIKE 'D%'

Nota

  • La nouvelle table n'est pas immédiatement affichée parmi les objets Table : il est nécessaire de lancer Affichage ▸ Actualiser les tables (cette commande n'est disponible que lorsque les objets Tables sont affichés).
  • La table sera par définition le résultat d'un SELECT avec toutes les limites induites : pas de création de clé primaire notamment.
  • Ceci est la raison pour laquelle le SQL ci-dessus n'inclut pas dans le SELECT le champ ID_Table.
    • Si on souhaite une clé en Auto-Valeur pour la nouvelle table il sera possible d'éditer la table pour ajouter ce champ.
    • Si la clé ne doit pas être définie en Auto-Valeur il sera bien sûr possible de l'inclure dans le SELECT