Scenario:
Som SQL Server-utvecklare måste du komma med olika sätt att infoga data i SQL Server Table.Ibland måste du helt enkelt infoga statiska poster, någon gång måste du infoga data från en annan tabell till befintlig tabell. Låt oss kolla in olika tekniker för att infoga data i SQL Server-tabellen.
Lösning:
Låt oss skapa dbo.Customer-tabellen först genom att använda nedanstå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) Använd Multiple Inserts för att infoga 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) Använd enkel infogning med flera värden
Som i exemplet ovan använder vi flera infogningar. Varje infogade en enda post. I SQL Server kan vi använda enkel infogning med flera värden som visas nedan.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) Använd Select with Insert för att infoga poster
Vi kan använda Infoga med Select-fråga för att infoga resultatuppsättningen som returneras av Select-fråga.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) Använd Infoga utan att ange kolumnnamn
Som du har sett i ovanstående exempel har jag använt kolumnlista med Insert, det behöver du inte använda om du vet att ordningen på kolumner och värden du använder också är i ordning. Jag använder alltid kolumnlistan i infoga och väljer för att se till att jag infogar korrekt data i tabellen i korrekta kolumner.--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) Infoga data från en annan tabell till destinationstabell
Som vi har sett att urvalsfrågans resultat kan infogas i tabellen. I ovanstående exempel har vi använt de statiska värdena med select, Du kan välja data från tabell, vy och funktion etc. att infoga i din tabell. Låt oss säga om vi vill infoga data i dbo.Customer-tabellen från dbo.CustomerUS-tabellen. du kan använda nedanstående fråga.--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 :Hur man infogar data i SQL Server Table med hjälp av T-SQL-satser