Maison >base de données >tutoriel mysql >En quoi « SELECT INTO » d'Oracle diffère-t-il du SQL standard et quelles sont les solutions de contournement ?
Interprétation unique de SELECT INTO par Oracle
Alors que la syntaxe SQL standard pour SELECT INTO implique de créer une nouvelle table et de la remplir avec les données d'un table existante, l'implémentation d'Oracle diffère considérablement.
Erreur Rencontré :
Lorsque vous essayez d'exécuter le standard SELECT * INTO new_table FROM old_table dans Oracle, vous pouvez rencontrer l'erreur "mot clé manquant" (ORA-00905). En effet, la syntaxe d'Oracle pour effectuer la même opération nécessite une approche différente.
Syntaxe d'Oracle pour créer une nouvelle table et remplir des données :
Pour exécuter avec succès SELECT INTO dans Oracle, vous avez plusieurs options :
Si la nouvelle table est déjà existe :
Utilisez l'instruction INSERT INTO :
INSERT INTO new_table SELECT * FROM old_table;
Si vous souhaitez créer une nouvelle table basée sur les enregistrements d'un fichier existant table :
Utilisez CREATE TABLE ... AS SELECT déclaration :
CREATE TABLE new_table AS SELECT * FROM old_table;
Si le but est de créer une nouvelle table vide :
Ajoutez une clause WHERE avec une condition qui peut ne soit jamais vrai :
CREATE TABLE new_table AS SELECT * FROM old_table WHERE 1 = 2;
Important Considérations :
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!