Comment : créer des requêtes Make Table
Vous pouvez copier des lignes dans une nouvelle table à l'aide d'une requête Make Table, très utile pour créer des sous-ensembles de données que vous pouvez par la suite manipuler ou pour copier le contenu d'une table d'une base de données vers une autre. Une requête Make Table ressemble à une requête Insert Results à cette différence près qu'elle crée une nouvelle table vers laquelle copier les lignes.
Notes
Oracle implémente une requête Make Table sous la forme d'une commande Create Table As Select.
Lorsque vous créez une requête Make Table, spécifiez :
le nom de la nouvelle table de base de données (table de destination) ;
les tables à partir desquelles copier les lignes (les tables sources), la copie pouvant être réalisée à partir d'une seule table ou de tables jointes ;
les colonnes de la table source dont vous souhaitez copier le contenu ;
l'ordre de tri, afin de copier, le cas échéant, les lignes dans un ordre précis ;
les conditions de recherche pour définir les lignes à copier ;
les options Group By, si vous ne souhaitez copier que des informations de synthèse.
Dans l'exemple suivant, la requête crée une nouvelle table appelée uk_customers et copie les informations de la table customers vers celle-ci :
SELECT *
INTO uk_customers
FROM customers
WHERE country = 'UK'
Il existe deux conditions préalables à l'exécution correcte d'une requête Make Table :
Votre base de données doit prendre en charge la syntaxe SELECT...INTO.
Vous devez disposer d'une autorisation pour créer une table dans la base de données cible.
Notes
Il est possible que pour certains des éléments de l'interface utilisateur de Visual Studio, votre ordinateur affiche des noms ou des emplacements différents de ceux indiqués dans les instructions suivantes. L'édition de Visual Studio dont vous disposez et les paramètres que vous utilisez déterminent ces éléments. Pour plus d'informations, consultez Paramètres Visual Studio.
Pour créer une requête Make Table
Ajoutez la ou les tables source dans le volet Schéma.
Dans le menu Concepteur de requêtes, pointez sur Modifier le type, puis cliquez sur Créer une table.
Dans la boîte de dialogue Création de table, tapez le nom de la table de destination. Le Concepteur de requêtes et de vues ne vérifie pas si le nom existe déjà ou si vous êtes autorisé à créer la table.
Pour créer une table de destination dans une autre base de données, spécifiez un nom de table complet avec le nom de la base de données cible, le propriétaire (si nécessaire) ainsi que le nom de la table.
Spécifiez les colonnes à copier en les ajoutant à la requête. Pour plus d'informations, consultez Comment : ajouter des colonnes à des requêtes. Les colonnes ne sont copiées que si vous les ajoutez à la requête. Pour copier des lignes entières, choisissez * (Toutes les colonnes).
Le Concepteur de requêtes et de vues ajoute les colonnes sélectionnées à la colonne Colonne du volet Critères.
Si vous souhaitez copier les lignes dans un ordre précis, spécifiez un ordre de tri. Pour plus d'informations, consultez Tri et regroupement des résultats de la requête.
Spécifiez les lignes à copier en entrant des conditions de recherche. Pour plus d'informations, consultez Comment : spécifier des conditions de recherche.
Si vous ne spécifiez pas de condition de recherche, toutes les lignes de la table source sont copiées vers la table de destination.
Notes
Lorsque vous ajoutez, dans le volet Critères, une colonne à utiliser dans une condition de recherche, le Concepteur de requêtes et de vues l'ajoute également à la liste des colonnes à copier.Pour utiliser une colonne dans le cadre de la recherche sans toutefois la copier, désactivez la case à cocher en regard du nom de la colonne dans le rectangle représentant la table ou l'objet de type table.
Si vous souhaitez copier des informations de synthèse, spécifiez des options Group By. Pour plus d'informations, consultez Synthèse des résultats d'une requête.
Lorsque vous exécutez une requête Make Table, aucun résultat n'apparaît dans le volet Résultats. En fait, un message indiquant le nombre de lignes copiées s'affiche.