Je souhaite déplacer certaines données d'une table à une autre. J'ai écrit une requête qui fonctionnera, mais dans la table de destination, il y a une colonne qui contient un identifiant. Je veux que chaque ligne que j'insère ait un identifiant différent et consécutif. Voici un exemple simplificated:Insertions multiples Oracle, ID différents
Table1
Name Telephone Actie
Peter 123456 Y
Michael 111111 Y
George 1234445 N
Table2
Id Name Likes
1 Peter Books
2 Michael Books
La requête que j'ai écrit:
insert all into table2 (name, likes)
select all.name name, 'Books' likes, from (select o.name
from table1 o where o.active='Y') all;
Est-il possible de générer les ids consécutifs et utiliser le « insérer tout dans » la requête? Une séquence? Si cela peut être fait avec une séquence ... est-il possible de le faire sans séquence?
Merci pour votre intérêt!
La réponse est bonne, mais je m'attendais à le faire sans l'utilisation d'une séquence, même en sachant que c'est la solution optimale. – deb
Il n'y a pas de raison de créer une séquence pour une insertion unique à une seule session. ROWNUM est parfaitement "propre" dans ce scénario. –