Scénář:
Jako SQL Server Developer musíte přijít s různými způsoby vkládání dat do SQL Server Table.Někdy musíte jednoduše vložit statické záznamy, někdy musíte vložit data z jiné tabulky do existující tabulky. Pojďme se podívat na různé techniky vkládání dat do tabulky SQL Serveru.
Řešení:
Nejprve vytvořte tabulku dbo.Customer pomocí níže uvedené definice.USE yourDatabaseName Go Create Table dbo.Customer( Id int identity(1,1), FName VARCHAR(50), LName VARCHAR(50), Age int, DOB Date, Salary Numeric(6,2))
1) K vložení dat do tabulky použijte vícenásobné vložení.
Insert into dbo.Customer(FName,LName,Age,DOB,Salary) Values('Aamir','Shahzad',36,'1980-01-01',5000.50) GO Insert into dbo.Customer(FName,LName,Age,DOB,Salary) Values ('Raza','M',33,'1983-03-03',4900.34) GO Insert into dbo.Customer(FName,LName,Age,DOB,Salary) Values ('John','Smith',26,'1990-04-05',5000.50)
2) Použijte jednu přílohu s více hodnotami
Stejně jako ve výše uvedeném příkladu používáme více insertů. Každý vkládal jeden záznam. V SQL Serveru můžeme použít jednu vložku s více hodnotami, jak je uvedeno níže.Insert into dbo.Customer(FName,LName,Age,DOB,Salary) Values('Aamir','Shahzad',36,'1980-01-01',5000.50), ('Raza','M',33,'1983-03-03',4900.34), ('John','Smith',26,'1990-04-05',5000.50)
3) Použijte Vybrat s Vložit pro vložení záznamů
Můžeme použít Vložit s výběrovým dotazem k vložení sady výsledků vrácené výběrovým dotazem.Insert into dbo.Customer(FName,LName,Age,DOB,Salary) Select 'Aamir' as FName,'Shahzad' as LName,36 as Age,'1980-01-01' as DOB,5000.50 as Salary union all Select 'Raza','M',33,'1983-03-03',4900.34 Union all Select 'John','Smith',26,'1990-04-05',5000.50
4) Použijte Vložit bez zadání názvů sloupců
Jak jste viděli ve výše uvedených příkladech, použil jsem seznam sloupců s Insert, nemusíte jej používat, pokud znáte pořadí sloupců a hodnoty, které používáte, jsou také v pořádku. Vždy používám seznam sloupců ve vložení a výběru, abych se ujistil, že vkládám správná data do tabulky ve správných sloupcích.--Insert without provide Column Names Insert into dbo.Customer Select 'Aamir' as FName,'Shahzad' as LName,36 as Age,'1980-01-01' as DOB,5000.50 as Salary union all Select 'Raza','M',33,'1983-03-03',4900.34 Union all Select 'John','Smith',26,'1990-04-05',5000.50
Also we can use the insert without Column Names with Values option
Insert into dbo.Customer Values('Aamir','Shahzad',36,'1980-01-01',5000.50), ('Raza','M',33,'1983-03-03',4900.34), ('John','Smith',26,'1990-04-05',5000.50)
5) Vložte data z jiné tabulky do cílové tabulky
Jak jsme viděli, výsledky výběrového dotazu lze vložit do tabulky. Ve výše uvedených příkladech jsme použili statické hodnoty s výběrem, můžete vybrat data z tabulky, zobrazení a funkce atd., která chcete vložit do tabulky. Řekněme, že pokud chceme vložit data do tabulky dbo.Customer z tabulky dbo.CustomerUS. můžete použít níže uvedený dotaz.--Insert into table from another table Select into dbo.Customer(FName,LName,Age,DOB,Salary) Select FName,LName,Age,DOB,Salary from dbo.CustomerUS
Video ukázka:Jak vložit data do tabulky SQL Server pomocí příkazů T-SQL