Syntaksen for Create Table As SQL-sætning er:
CREATE TABLE table_name [ ( column_name [, ...] ) ] AS select [ * ! ( column_name [, ...] ) ] FROM source_table_name
Erstat tabelnavn med navnet på den nye tabel, der vil blive oprettet. Kolonnenavn er valgfrit, hvor du kan angive flere kolonner ved at inkludere deres navne i en kommasepareret liste. Ellers vil strukturen af den nye tabel være baseret på kolonnenavne, typer og antal kolonner, der returneres af Select-sætningen, sammen med rækkedata. Hvis du angiver kolonnenavnet, skal du være opmærksom på, at der skal være det samme antal kolonner angivet, som returneres af select.
Select-sætningen i slutningen af create table as-kommandoen skal være gyldig og har antallet af valgte mål, der matcher antallet af kolonner i den valgfri kolonneliste forud for AS-udtrykket. Det kan være en kompleks select-sætning, der henter data fra flere tabeller. Hvis valgfri kolonneliste er angivet i parentes, kan stjerne (*) ikke længere bruges i select-sætningen.
For eksempel
CREATE TABLE demo_backup AS SELECT * FROM demo;
Ovenstående SQL-sætning vil oprette en nøjagtig replika backup-tabel ved navn demo_backup med data og struktur (kolonner) af demo-tabellen.
Mulig fejl, hvis du angiver den valgfri kolonneliste er:
FEJL:CREATE TABLE/AS SELECT har ikke matchet kolonneantal
Hvis du støder på denne fejlmeddelelse, skyldes det, at valgfri liste over kolonner i parentes indeholder et andet antal rækker, end select-sætningen returnerer. Dobbelttjek, om det angivne antal kolonner er det samme med de resultater, der forventes fra det udvalgte resultatsæt.
Bemærk! Nogle databasesystemer understøtter CREATE TABLE … LIKE syntaks, der opretter en tom tabel baseret på definitionen af en anden tabel, inklusive eventuelle kolonneattributter og indekser defineret i den originale tabel. Forskellen er, at CREATE TABLE … SELECT syntaks også kopierer dataene.