Scenario:
Als SQL Server-ontwikkelaar moet je verschillende manieren hebben om gegevens in de SQL Server-tabel in te voegen.Soms moet je gewoon statische records invoegen, soms moet je gegevens van een andere tabel in een bestaande tabel invoegen. Laten we eens kijken naar verschillende technieken om gegevens in de SQL Server-tabel in te voegen.
Oplossing:
Laten we eerst de dbo.Customer-tabel maken met behulp van onderstaande definitie.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) Gebruik meerdere invoegingen om gegevens in de tabel in te voegen.
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) Gebruik enkele invoeging met meerdere waarden
Zoals in het bovenstaande voorbeeld, gebruiken we meerdere inserts. Elk was het invoegen van een enkel record. In SQL Server kunnen we een enkele Insert gebruiken met meerdere waarden zoals hieronder getoond.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) Gebruik Selecteren met Invoegen om records in te voegen
We kunnen Invoegen met selectiequery gebruiken om de resultatenset in te voegen die wordt geretourneerd door de selectiequery.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) Gebruik Invoegen zonder kolomnamen op te geven
Zoals je in bovenstaande voorbeelden hebt gezien, heb ik kolomlijst gebruikt met Invoegen, je hoeft dat niet te gebruiken als je weet dat de volgorde van kolommen en waarden die je gebruikt ook in orde zijn. Ik gebruik altijd de kolomlijst in invoegen en selecteer om ervoor te zorgen dat ik de juiste gegevens in de tabel in de juiste kolommen invoeg.--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) Gegevens uit een andere tabel in de bestemmingstabel invoegen
Zoals we hebben gezien, kunnen de resultaten van de geselecteerde query in de tabel worden ingevoegd. In bovenstaande voorbeelden hebben we de statische waarden met select gebruikt. U kunt de gegevens uit tabel, weergave en functie enz. selecteren om in uw tabel in te voegen. Laten we zeggen of we gegevens in de dbo.Customer-tabel willen invoegen vanuit de dbo.CustomerUS-tabel. u kunt onderstaande query gebruiken.--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:gegevens in de SQL Server-tabel invoegen met behulp van T-SQL-instructies