J'essaie de faire une requête dynamique où je veux insérer des données dans la table SuperSet de la table sous-ensemble.
Voici mes tables p>
insert into B (select * from A);
4 Réponses :
Par défaut, un instruction code> insert code> s'attend à ce que toutes les colonnes cibles soient fournies. Vous pouvez modifier cela en énumérant les colonnes que vous souhaitez insérer. Ceci est une bonne pratique que vous devriez vous en tenir à rester, car cela rend les requêtes plus faciles à lire et à entretenir.
Vraisemblablement, vous voulez: P> < Pré> xxx pré> p>
Oui, mais comme je l'ai mentionné, je veux créer une requête dynamique où je n'ai pas besoin de mentionner les noms de colonne afin qu'il fonctionne pour plus d'un ensemble de tables.
Vous devez cartographier les colonnes afin qu'ils puissent correspondre. Voir la documentation
Essayez celui-ci: < / p>
Oui, mais comme je l'ai mentionné, je veux créer une requête dynamique où je n'ai pas besoin de mentionner les noms de colonne afin qu'il fonctionne pour plus d'un ensemble de tables.
C'est la requête la plus dynamique. que vous pouvez avoir pour cette situation.
Nous avions mentionné les noms de colonnes du tableau B parce que vous fournissez des valeurs de seulement 2 colonnes.
Si vous ne voulez pas utiliser le nom de la colonne, vous avez besoin de des données restantes dans une autre table et de modifier le tableau B un peu. P> Vous pouvez maintenant exécuter la requête:
Insérer dans les valeurs B (ID, EMPLENAMALE) (SELECT * à partir de A); CODE> // Cela fonctionnera uniquement si la contrainte NotNull n'est pas définie sur Empid.
Insérer dans les valeurs B (Sélectionnez * à partir d'une jointure interne C sur a.id = c.Id); code>
Cela remplira votre table A. P> P>
Ceci est la solution finale qui a fonctionné pour moi car ID est une colonne d'incrémentation automatique et si vous entrez NULL dessus, rien ne change. P>
Insérer dans B (Sélectionnez NULL, A. * à partir de A); P>
Utilisez-vous MySQL ou Oracle? Pourquoi doit-il être une procédure stockée?
@jarih J'utilise MySQL et j'essaie de mettre en œuvre cette logique dans une procédure stockée.