<code>--CREATING A PROCEDURE TO INSERT 4 ROWS AT A TIME
CREATE PROCEDURE [dbo].[Hire_Employee]
@Name VARCHAR (20),
@Surname VARCHAR(20),
@Pay_Rate INT,
@Hire_Date DATE
AS
BEGIN
INSERT INTO [dbo].[Hire_Employee] (Name, Surname, Pay_Rate, Hire_Date)
VALUES (@Name, @Surname, @Pay_Rate, @Hire_Date),
(@Name, @Surname, @Pay_Rate, @Hire_Date),
(@Name, @Surname, @Pay_Rate, @Hire_Date),
(@Name, @Surname, @Pay_Rate, @Hire_Date);
END;
EXEC [dbo].[Hire_Employee]
@Name = "Lance", @Surname = "Armstrong", @Pay_Rate = 76, @Hire_Date = "2024-01-06",
@Name = "Michael", @Surname = "Jackson", @Pay_Rate = 60, @Hire_Date = "2024-01-07",
@Name = "Kendrick", @Surname = "Lamaar", @Pay_Rate = 80, @Hire_Date = "2024-01-08",
@Name = "Simone", @Surname = "Biles", @Pay_Rate = 55, @Hire_Date = "2024-01-09"
</code>
<code>--CREATING A PROCEDURE TO INSERT 4 ROWS AT A TIME
CREATE PROCEDURE [dbo].[Hire_Employee]
@Name VARCHAR (20),
@Surname VARCHAR(20),
@Pay_Rate INT,
@Hire_Date DATE
AS
BEGIN
INSERT INTO [dbo].[Hire_Employee] (Name, Surname, Pay_Rate, Hire_Date)
VALUES (@Name, @Surname, @Pay_Rate, @Hire_Date),
(@Name, @Surname, @Pay_Rate, @Hire_Date),
(@Name, @Surname, @Pay_Rate, @Hire_Date),
(@Name, @Surname, @Pay_Rate, @Hire_Date);
END;
EXEC [dbo].[Hire_Employee]
@Name = "Lance", @Surname = "Armstrong", @Pay_Rate = 76, @Hire_Date = "2024-01-06",
@Name = "Michael", @Surname = "Jackson", @Pay_Rate = 60, @Hire_Date = "2024-01-07",
@Name = "Kendrick", @Surname = "Lamaar", @Pay_Rate = 80, @Hire_Date = "2024-01-08",
@Name = "Simone", @Surname = "Biles", @Pay_Rate = 55, @Hire_Date = "2024-01-09"
</code>
--CREATING A PROCEDURE TO INSERT 4 ROWS AT A TIME
CREATE PROCEDURE [dbo].[Hire_Employee]
@Name VARCHAR (20),
@Surname VARCHAR(20),
@Pay_Rate INT,
@Hire_Date DATE
AS
BEGIN
INSERT INTO [dbo].[Hire_Employee] (Name, Surname, Pay_Rate, Hire_Date)
VALUES (@Name, @Surname, @Pay_Rate, @Hire_Date),
(@Name, @Surname, @Pay_Rate, @Hire_Date),
(@Name, @Surname, @Pay_Rate, @Hire_Date),
(@Name, @Surname, @Pay_Rate, @Hire_Date);
END;
EXEC [dbo].[Hire_Employee]
@Name = "Lance", @Surname = "Armstrong", @Pay_Rate = 76, @Hire_Date = "2024-01-06",
@Name = "Michael", @Surname = "Jackson", @Pay_Rate = 60, @Hire_Date = "2024-01-07",
@Name = "Kendrick", @Surname = "Lamaar", @Pay_Rate = 80, @Hire_Date = "2024-01-08",
@Name = "Simone", @Surname = "Biles", @Pay_Rate = 55, @Hire_Date = "2024-01-09"
3
It’s impossible to insert multiple rows using this way becouse you are sending to prcedure too many arguments.
You can solve this problem in this way if you have to using INSERT INTO VALUES
<code>--CREATING A PROCEDURE TO INSERT 4 ROWS AT A TIME
CREATE PROCEDURE [dbo].[Hire_Employee]
@Name1 VARCHAR (20), @Surname1 VARCHAR(20), @Pay_Rate1 INT, @Hire_Date1 DATE,
@Name2 VARCHAR (20), @Surname2 VARCHAR(20), @Pay_Rate2 INT, @Hire_Date2 DATE,
@Name3 VARCHAR (20), @Surname3 VARCHAR(20), @Pay_Rate3 INT, @Hire_Date3 DATE,
@Name4 VARCHAR (20), @Surname4 VARCHAR(20), @Pay_Rate4 INT, @Hire_Date4 DATE AS
BEGIN
INSERT INTO [dbo].[Hire_Employee] (Name, Surname, Pay_Rate, Hire_Date)
VALUES (@Name1, @Surname1, @Pay_Rate1, @Hire_Date1),
(@Name2, @Surname2, @Pay_Rate2, @Hire_Date2),
(@Name3, @Surname3, @Pay_Rate3, @Hire_Date3),
(@Name4, @Surname4, @Pay_Rate4, @Hire_Date4);
END;
EXEC [dbo].[Hire_Employee]
@Name1 = "Lance", @Surname1 = "Armstrong", @Pay_Rate1 = 76, @Hire_Date1 = "2024-01-06",
@Name2 = "Michael", @Surname2 = "Jackson", @Pay_Rate2 = 60, @Hire_Date2 = "2024-01-07",
@Name3 = "Kendrick", @Surname3 = "Lamaar", @Pay_Rate3 = 80, @Hire_Date3 = "2024-01-08",
@Name4 = "Simone", @Surname4 = "Biles", @Pay_Rate4 = 55, @Hire_Date4 = "2024-01-09"
</code>
<code>--CREATING A PROCEDURE TO INSERT 4 ROWS AT A TIME
CREATE PROCEDURE [dbo].[Hire_Employee]
@Name1 VARCHAR (20), @Surname1 VARCHAR(20), @Pay_Rate1 INT, @Hire_Date1 DATE,
@Name2 VARCHAR (20), @Surname2 VARCHAR(20), @Pay_Rate2 INT, @Hire_Date2 DATE,
@Name3 VARCHAR (20), @Surname3 VARCHAR(20), @Pay_Rate3 INT, @Hire_Date3 DATE,
@Name4 VARCHAR (20), @Surname4 VARCHAR(20), @Pay_Rate4 INT, @Hire_Date4 DATE AS
BEGIN
INSERT INTO [dbo].[Hire_Employee] (Name, Surname, Pay_Rate, Hire_Date)
VALUES (@Name1, @Surname1, @Pay_Rate1, @Hire_Date1),
(@Name2, @Surname2, @Pay_Rate2, @Hire_Date2),
(@Name3, @Surname3, @Pay_Rate3, @Hire_Date3),
(@Name4, @Surname4, @Pay_Rate4, @Hire_Date4);
END;
EXEC [dbo].[Hire_Employee]
@Name1 = "Lance", @Surname1 = "Armstrong", @Pay_Rate1 = 76, @Hire_Date1 = "2024-01-06",
@Name2 = "Michael", @Surname2 = "Jackson", @Pay_Rate2 = 60, @Hire_Date2 = "2024-01-07",
@Name3 = "Kendrick", @Surname3 = "Lamaar", @Pay_Rate3 = 80, @Hire_Date3 = "2024-01-08",
@Name4 = "Simone", @Surname4 = "Biles", @Pay_Rate4 = 55, @Hire_Date4 = "2024-01-09"
</code>
--CREATING A PROCEDURE TO INSERT 4 ROWS AT A TIME
CREATE PROCEDURE [dbo].[Hire_Employee]
@Name1 VARCHAR (20), @Surname1 VARCHAR(20), @Pay_Rate1 INT, @Hire_Date1 DATE,
@Name2 VARCHAR (20), @Surname2 VARCHAR(20), @Pay_Rate2 INT, @Hire_Date2 DATE,
@Name3 VARCHAR (20), @Surname3 VARCHAR(20), @Pay_Rate3 INT, @Hire_Date3 DATE,
@Name4 VARCHAR (20), @Surname4 VARCHAR(20), @Pay_Rate4 INT, @Hire_Date4 DATE AS
BEGIN
INSERT INTO [dbo].[Hire_Employee] (Name, Surname, Pay_Rate, Hire_Date)
VALUES (@Name1, @Surname1, @Pay_Rate1, @Hire_Date1),
(@Name2, @Surname2, @Pay_Rate2, @Hire_Date2),
(@Name3, @Surname3, @Pay_Rate3, @Hire_Date3),
(@Name4, @Surname4, @Pay_Rate4, @Hire_Date4);
END;
EXEC [dbo].[Hire_Employee]
@Name1 = "Lance", @Surname1 = "Armstrong", @Pay_Rate1 = 76, @Hire_Date1 = "2024-01-06",
@Name2 = "Michael", @Surname2 = "Jackson", @Pay_Rate2 = 60, @Hire_Date2 = "2024-01-07",
@Name3 = "Kendrick", @Surname3 = "Lamaar", @Pay_Rate3 = 80, @Hire_Date3 = "2024-01-08",
@Name4 = "Simone", @Surname4 = "Biles", @Pay_Rate4 = 55, @Hire_Date4 = "2024-01-09"
New contributor
Kacper Grabarczyk is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.