web-dev-qa-db-fra.com

Création d'une nouvelle table avec SELECT INTO en SQL

Duplicate possible:
SELECT INTO utilisant Oracle

J'ai rencontré SQL SELECT INTO instruction permettant de créer une nouvelle table et de vider d’anciens enregistrements de table dans une nouvelle table dans une seule instruction SQL en tant que

  SELECT * INTO NEW_TABLE FROM OLD_TABLE;

Mais quand j'essaie la requête ci-dessus, il donne une erreur en tant que ORA-00905: missing keyword

Est-il possible de faire cela dans Oracle?

Merci.

31
Aspirant

La syntaxe pour créer une nouvelle table est

CREATE TABLE new_table
AS
SELECT *
  FROM old_table

Cela va créer une nouvelle table nommée new_table avec toutes les colonnes contenues dans old_table et copiez les données. Il ne répliquera pas les contraintes sur la table, ne répliquera pas les attributs de stockage et ne répliquera aucun déclencheur défini sur la table.

SELECT INTO est utilisé dans PL/SQL lorsque vous souhaitez extraire des données d’une table dans une variable locale de votre bloc PL/SQL.

77
Justin Cave