27.12.2012, Vladimír Klaus, navštíveno 4787x

MS Access
SQL

Příkaz CREATE TABLE vytvoří novou tabulku. Bohužel je možné zadat i takto ořezaný příkaz, který sice splní účel, ale tabulka je zcela nepoužitelná, protože nemá nadefinována žádná pole.

CREATE TABLE Test

Mnohem rozumnější je založit novou tabulku včetně specifikace polí.

CREATE TABLE Reklamace
( ID int PRIMARY KEY,
Jmeno CHAR(20),
Prijmeni CHAR(30),
Telefon CHAR(20),
Datum DATETIME,
IDProduktu INT,
Popis MEMO )

Výsledkem je vytvoření plně funkční tabulky s touto strukturu

SQL obrázek

V některých databázích je možné při vytváření tabulky ji rovnou naplnit daty z jiné tabulky. Dotaz může vypadat například takto.

CREATE TABLE ObjednavkyZaloha AS (SELECT * FROM Objednavky)

V MS Accessu ale tento příkaz není podporován. Naštěstí je tu plnohodnotná náhrada.

SELECT * INTO ObjednavkyZaloha FROM (SELECT * FROM Objednavky)

SQL obrázek

A co když potřebujeme vytvořit novou tabulku na základě jiné, ale bez dat? I to je řešitelné – uvedením nesplnitelné podmínky na výběr dat.

SELECT * INTO ObjednavkyZaloha2 FROM (SELECT * FROM Objednavky WHERE 1=2)

SQL obrázek