Oracle: copier une ligne en mettant à jour un champ
Note: je suis en posant la question, je veux une réponse. Je sais que cette question signifie que la base de données est mal. Je vais donc voter contre toutes les réponses qui vous suggérons de modifier la façon dont la table est mis en place.
J'ai besoin de dupliquer un tas de lignes, tandis que de changer une valeur.
name col1 col2
dave a nil
sue b nil
sam c 5
doit devenir:
name col1 col2
dave a nil
dave a a
sue b nil
sue b a
same c 5
C'est à dire pour toutes les entrées dans cette table où col2 is null
créer une nouvelle entrée dans la table où name
et col1
sont copiés, et col2
est a
.
source d'informationauteur David Oneill
Vous devez vous connecter pour publier un commentaire.
Utilisation:
C'est en supposant que ni la
name
oucol1
les colonnes de clé primaire ou qui ont une contrainte d'unicité.Va ce faire?
Si le nombre de colonnes est grand, vous pouvez copier les données dans une table temporaire, de modifier les données dans la table temporaire comme vous le souhaitez, puis copiez le contenu de la table temporaire en arrière dans l'original, et de supprimer la table temporaire.