Frequently asked questions - Base

    From The Document Foundation Wiki
    < Faq‎ | Base
    This page is a translated version of the page Faq/Base/128 and the translation is 91% complete.
    Other languages:

    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