Dans Oracle, je copie des données d’une sauvegarde sur une nouvelle table, cela ne fonctionne pas.
quelle est la syntaxe correcte?
Merci
select CODE, MESSAGE into EXCEPTION_CODES (CODE, MESSAGE)
from Exception_code_tmp
l'erreur est
**SQL Error: ORA-00905: missing keyword
00905. 00000 - "missing keyword"**
Vous avez besoin d'un INSERT ... SELECT
INSERT INTO exception_codes( code, message )
SELECT code, message
FROM exception_code_tmp
Si vous voulez créer une table avec des données. Créez d'abord la table:
create table new_table as ( select * from old_table);
puis insérez
insert into new_table ( select * from old_table);
Si vous voulez créer une table sans données. Vous pouvez utiliser :
create table new_table as ( select * from old_table where 1=0);
Créer une table et copier les données en une seule commande:
create table T_NEW as
select * from T;
* Ceci pas copie les PK, FK, déclencheurs, etc.
insert into EXCEPTION_CODES (CODE, MESSAGE)
select CODE, MESSAGE from Exception_code_tmp
crée la table xyz_new en tant que sélection * de xyz où 1 = 0;
http://www.codeassists.com/questions/Oracle/copy-table-data-to-new-table-in-Oracle