SQL Insert

INSERT
Definice
Přidá nový řádek nebo řádky do tabulky nebo zobrazení.

 INSERT [DO] {objekt [(lista_columnas)] {{HODNOTY ((Default | NULL | výraz} [, ... n]) [... n]) | tabla_derivada | sentencia_ejecutable | Výchozí hodnoty}}


Popis doložek

  • DO: volitelné klíčové slovo, které mohou být použity mezi vložkou a cílové tabulky.
  • Lista_columnas: Seznam jednoho nebo více sloupců, ve kterém je zadání. Musí být uvedeny v závorkách a odděleny čárkami.
  • Hodnoty: Zobrazí seznam datových hodnot, které mají být vložena. Musí být hodnota údaje pro každý sloupec seznamu, pokud je zadán, nebo stůl. Seznam hodnot musí být uvedeny v závorkách. Hodnoty VALUES seznam musí být ve stejném pořadí jako seznam sloupců. Vložení více než jeden řádek hodnot vyžaduje HODNOTY seznamu jsou ve stejném pořadí jako sloupce v tabulce, mít hodnotu v každém sloupci, nebo seznam explicitně zadat sloupec, ve kterém ukládá, že každý jeden z příchozích hodnot. Maximální počet řádků, které mohou být vloženy do jednoho příkazu INSERT je 1000. Chcete-li vložit více než 1000 řádků, vytvořit více INSERT, nebo provádět hromadný import dat pomocí BCP nebo BULK INSERT.
  • Tabla_derivada: Libovolná platná SELECT, který vrací řádky dat, které se mají zavést do tabulky.
  • Sentencia_ejecutable: Je libovolný platný výraz provést, který vrací data s SELECT. To může obsahovat volání uložené procedury.
  • Výchozí hodnoty: To je nový řádek obsahuje výchozí hodnoty definované pro každý sloupec.

Úvahy
Je-li sloupec není zařazena do seznamu sloupců, musí databázový stroj je schopen poskytnout hodnotu založenou na definici sloupce, jinak nelze načíst řádek. Databázový stroj automaticky poskytuje hodnotu pro sloupec, pokud:

  • Má identita. Použijte následující přírůstkové hodnoty identity.
  • To má výchozí hodnotu. Použít výchozí hodnotu sloupce.
  • To má datový typ timestamp. Využívá aktuální hodnotu časového razítka.
  • S možnou hodnotou Null. Použijte hodnotu NULL.
  • Je vypočítaný sloupec. Používáme vypočítanou hodnotu.

Příklady
. Vloží řádek v tabulce UnitMeasure týden Protože hodnoty pro všechny sloupce jsou dodávány a jsou zahrnuty ve stejném pořadí jako sloupce v tabulce, není nutné zadat názvy sloupců v seznamu. Je také dobrým zvykem deklarovat seznam navždy.

 Production.UnitMeasure INSERT INTO VALUES ('F2', 'Square Feet, GETDATE ())

b.. Stejný příklad jako v možnosti, ale s uvedením seznam sloupců.

 INSERT INTO Production.UnitMeasure (jméno, UnitMeasureCode, ModifiedDate) VALUES ('square loděnic a "Y2", GETDATE ())

c.. 5 řádků vloženy do departementů tabulky

 Dbo.Departments INSERT INTO VALUES (1, 'lidských zdrojů' na 'Margheim ") (2," Prodej "," Byham "), 3" Finance "," Gill ") (4," nákupu "a "Kadeřnictví"), (5, "Výroba", "sládek")

d. Vložte výsledek příkazu SELECT v tabulce EmployeeSales

 Dbo.EmployeeSales INSERT SELECT "SELECT", e.EmployeeID a c.LastName a sp.SalesYTD Z HumanResources.Employee jako e INNER JOIN AS SP na Sales.SalesPerson e.EmployeeID = sp.SalesPersonID Person.Contact jako c INNER JOIN ON Tam, kde ContactID = c.ContactID e.EmployeeID LIKE '2% 'ORDER BY e.EmployeeID, c.LastName 

4 Reakce na "Vložit SQL"

  1. Bitacoras.com říká:

    Informace Bitacoras.com ...

    Míra Bitacoras.com: Definice INSERT přidá nový řádek nebo řádky do tabulky nebo zobrazení. INSERT [DO] {objekt [(lista_columnas)] {VALUES (({VÝCHOZÍ | NULL | výrazem} [, N?]) [N?]) | Tabla_derivada | sentencia_eje .....

  2. cancuneitor říká:

    Měl jsem problém při vytvoření tabulky, a já nemám tušení, jak využít "výchozích hodnot" a snažím se všechno, co jsem našel ve vyhledávačích a nic.
    Mám tabulku s mnoha validace, avšak že většina mě zajímá je Id být jeden z rostoucího používání SQL Server 2005 a již se snaží dát jedinečný auto-inkrement a vše ostatní ale nic, co nadita zvyšuje self, mám zájem se dostat mě z mých pochybností a všechny ty, kteří nemohou projít.

  3. tony říká:

    Najít něco identity, myslím, že bude trvat ještě dlouho

  4. Agustin říká:

    ahoj mám problém, když to pro vložení qu eh vb dlouho, ale nyní používají VB2010 a pravda je generována nos jako spojení atd. atd. atd. Chtěl bych vás informovat o tom něco, prosím .. ayudenme chcete dělat s nízkým a vysokým změny v SQL2008

Komentář