SQL INSERT – vkládáme řádky do tabulky

Příkaz SQL INSERT využijem v situaci, kdy potřebujeme vložit záznamy do tabulky. Samotné vložení řádku do tabulky můžeme to udělat několika způsoby.

Vkládat záznamy do tabulky můžeme také udělat přes SELECT klauzuli v kombinaci s INTO. Tady se přakticky jedná o kombinaci založení tabulky, tedy CREATE a vložení záznamů definovaných v SELECT klauzuli.

Syntaxe SQL INSERT

Základní syntaxe v případě kdy potřebujeme vložit jednu nebo několik málo hodnot:

INSERT INTO dbo.Tabulka (sloupec 1, sloupec 2, sloupec 3,...sloupecN 
VALUES (hodnota 1, hodnota 2, hodnota 3,...hodnota N);

Pokud chceme vytvořit tabulku a vložit do ní záznamy z jiné tabulky (nová tabulka ještě neexistuje):

SELECT (sloupec 1, sloupec 2, sloupec 3,...sloupecN)  
INTO dbo.Nova_Tabulka
FROM dbo.Tabulka;

(!!!) Tímto postupem bude tabulka založena bez objektů, které se vážou k původní tabulce – primárních klíčů, indexů, statistik, trigerů atd. Nová tabulka obsahuje pouze data a definice tabulky jako takové odpovídá původní tabulce.

Vložení záznamů do tabulky jako výsledek dotazu:

INSERT INTO TABULKA (sloupec 1, sloupec 2, sloupec 3,...sloupecN)
SELECT (sloupec 1, sloupec 2, sloupec 3,...sloupecN)
FROM dbo.Tabulka;

Při vkládání záznamů do tabulky přes příkaz INSERT INTO můsí platit:

  • Počet a názvy sloupců tabulky do které vkládáme záznamy musí odpovídat zdrojovým záznamům
  • Datové typy musí odpovídat, nelze například vkládat VARCHAR do sloupce s datovým typem INTEGER

Více o tomto příkazu se dočtete v technické dokumentaci na webu Microsoft zde

 

Reagovat na příspěvek