Insérer à partir d'un SELECT mais en changeant une colonne?
Demandais si il existe un moyen d'insérer une ligne dans une table à partir d'une autre, à l'exception d'une seule colonne?
C'est bien sûr facile avec un limitied nombre de colonnes, mais devient tiredsome la liste de toutes les colonnes lorsque le nombre de colonnes augmente.
Je pense quelque chose dans la ligne de:
Insert into table
select * replace col1 with current date
from table
where yada yada yada
Un possiblilty serait de dupliquer une ligne et d'effectuer et de mise à jour, mais disons que ce n'est pas une option en raison d'un indice ou quelque chose.
Des idées?
Edit:
C'est DB2 v10, mais la question est de la pure curiosité.
Je me demandais si c'est possible...
source d'informationauteur bek
Vous devez vous connecter pour publier un commentaire.
de l'utilisation d'Oracle
Pour SQL Server, la syntaxe sera:
SQL Server peut générer une liste de colonne pour vous. Cliquez-droit sur le nom de la table et choisissez
Script as -> Select -> To New Window
.Vous pouvez utiliser des tables temporaires
Créer une table Temporaire
Mettre à jour la colonne
Ou supprimer une colonne
Insérer à la table de destination
Créer une VUE avec le nombre requis pour les colonnes.
Assumer Tbl1 a 4 colonnes. Créer une vue avec les colonnes requises. Ici Col1 a été exclue.
Utilisation de la VUE pour l'Insertion. Col1 valeur pour TBL2 sera la date du jour, pour les autres colonnes, les valeurs de la vue V1, c'est à dire., col2, col3, col4 de TBL1
De cette façon, vous n'avez pas besoin de spécifier toutes les colonnes à chaque fois.
Espère que cela aide
en supposant que vous sélectionnez les attributs d'une définition univoque de l'ensemble de résultats wrt pour le contenu de votre table cible avant l'insertion, vous pouvez appliquer la suivante 2 étapes:
assurez-vous de publier les commandes à l'intérieur de la même transaction, comme illustré. sachez également que
characteristic_yada
doit être applicable à la source et la cible de la table ressemblent et que la pertinence decharacteristic_yada
doit être vérifié avant chaque application de déclarations, sauf si elles se réfèrent à des pks/aks de la taregt table