Maison >base de données >tutoriel mysql >En quoi « SELECT INTO » d'Oracle diffère-t-il des autres dialectes SQL et comment puis-je éviter « ORA-00905 » ?
Interprétation unique de SELECT INTO par Oracle
Dans Oracle, le fonctionnement typique de l'instruction SELECT INTO diffère des autres dialectes SQL. Alors que SELECT INTO associe généralement la récupération de données à la création d'une nouvelle table, Oracle l'implémente distinctement.
Pour résoudre l'erreur « ORA-00905 : mot-clé manquant », il est crucial de comprendre l'implémentation d'Oracle. La syntaxe correcte pour créer une nouvelle table avec les données d'une table existante est la suivante :
Création d'une nouvelle table :
Si la table de destination, NEW_TABLE, existe déjà :
insert into new_table select * from old_table;
Pour créer NEW_TABLE en fonction des données de OLD_TABLE :
create table new_table as select * from old_table;
Création d'une structure de table vide :
Si le but est de créer une table vide avec la même structure que OLD_TABLE, utilisez une clause WHERE avec une condition impossible :
create table new_table as select * from old_table where 1 = 2;
Notez que lors de la création d'une table à l'aide de SELECT INTO, Oracle ne réplique que le contenu de la table. schéma, à l’exclusion des contraintes, déclencheurs ou index présents dans la table d’origine. Ceux-ci doivent être ajoutés manuellement si vous le souhaitez.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!