Scenarie:
Som SQL Server-udvikler er du nødt til at komme med forskellige måder at indsætte data i SQL Server Table.Nogle gange skal du blot indsætte statiske poster, nogle gange skal du indsætte data fra en anden tabel til eksisterende tabel. Lad os se på forskellige teknikker til at indsætte data i SQL Server-tabellen.
Løsning:
Lad os oprette dbo.Customer-tabellen først ved at bruge nedenstående definition.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) Brug Multiple Inserts til at indsætte data i tabellen.
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) Brug enkelt Insert med flere værdier
Som i ovenstående eksempel bruger vi flere indsættelser. Hver indsatte en enkelt post. I SQL Server kan vi bruge enkelt Insert med flere værdier som vist nedenfor.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) Brug Select with Insert for at indsætte Records
Vi kan bruge Insert with Select-forespørgsel til at indsætte det resultatsæt, der returneres af select-forespørgsel.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) Brug Indsæt uden at angive kolonnenavne
Som du har set i ovenstående eksempler, har jeg brugt kolonneliste med Insert, det behøver du ikke bruge, hvis du ved at rækkefølgen af kolonner og værdier du bruger også er i orden. Jeg bruger altid kolonnelisten i insert og vælger for at sikre, at jeg indsætter korrekte data til tabellen i korrekte kolonner.--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) Indsæt data fra en anden tabel til destinationstabel
Som vi har set, kan de udvalgte forespørgselsresultater indsættes i tabellen. I ovenstående eksempler har vi brugt de statiske værdier med select, Du kan vælge data fra tabel, visning og funktion osv. til at indsætte i din tabel. Lad os sige, om vi ønsker at indsætte data i dbo.Customer-tabel fra dbo.CustomerUS-tabel. du kan bruge nedenstående forespørgsel.--Insert into table from another table Select into dbo.Customer(FName,LName,Age,DOB,Salary) Select FName,LName,Age,DOB,Salary from dbo.CustomerUS
Videodemo:Sådan indsætter du data i SQL Server-tabel ved hjælp af T-SQL-sætninger