Syntaxen för Skapa tabell som SQL-sats är:
CREATE TABLE table_name [ ( column_name [, ...] ) ] AS select [ * ! ( column_name [, ...] ) ] FROM source_table_name
Ersätt tabellnamn med namnet på den nya tabellen som kommer att skapas. Kolumnnamn är valfritt, där du kan ange flera kolumner genom att inkludera deras namn i en kommaavgränsad lista. Annars kommer strukturen för den nya tabellen att baseras på kolumnnamn, typer och antal kolumner som returneras av Select-satsen, tillsammans med raddata. Om du anger kolumnnamnet, notera att det bör finnas samma antal kolumner som anges som returneras av select.
Select-satsen i slutet av create table as-kommandot måste vara giltig och har antalet valda mål som matchar antalet kolumner i den valfria kolumnlistan som föregår AS-satsen. Det kan vara en komplex select-sats som hämtar data från flera tabeller. Om valfri kolumnlista anges inom parentes kan asterisk (*) inte längre användas i select-satsen.
Till exempel,
CREATE TABLE demo_backup AS SELECT * FROM demo;
Ovan SQL-sats kommer att skapa en exakt replika backup-tabell med namnet demo_backup med data och struktur (kolumner) för demotabellen.
Möjligt fel om du anger den valfria kolumnlistan är:
FEL:CREATE TABLE/AS SELECT har inte matchat kolumnantal
Om du stöter på det här felmeddelandet beror det på att valfri lista med kolumner inom parentes innehåller ett annat antal rader än vad select-satsen returnerar. Dubbelkolla om antalet angivna kolumner är detsamma som de resultat som förväntas från den valda resultatuppsättningen.
Obs! Vissa databassystem stöder CREATE TABLE … LIKE-syntaxen som skapar en tom tabell baserat på definitionen av en annan tabell, inklusive eventuella kolumnattribut och index definierade i den ursprungliga tabellen. Skillnaden är att CREATE TABLE … SELECT-syntax också kopierar data.