How can I add “X” rows to a table in SQL?

2019-09-20 08:39发布

问题:

If I have a table, let's say Customers and I want to receive from the user a number (Form) and create X rows in the Customer table. Let's say the customer put the number 4 I want 4 new rows at the Customer Table. How can I do this?

insert into Customer Valus ('Helen' , 36 )

回答1:

You could use a stored procedure and then pass the number of customers you want added. Something like this...

create procedure AddNewCustomers 
@NumberOfCustToAdd int 
as 

declare @counter int 

set @counter = 0 

while @counter < @NumberOfCustToAdd
begin
    //put your insert statement here
    set @counter = @counter + 1
end

go

Then, call the procedure passing the number of customers that the user requested...

exec AddNewCustomers @NumberOfCustomersToCreate


回答2:

Is this what you want -

INSERT INTO Customers(Name)
VALUES(NULL)
GO 10

This will insert 10 rows which you can update later.



回答3:

Here you go, this will generate 4 identical rows from passed in variables. This will max out at 100 rows.

Un-comment and correct insert statement as you see fit.

DECLARE @I INT, @NAME NVARCHAR(10)
SET @NAME = 'HELEN'
SET @I=4

;WITH MYCTE
AS
(
SELECT @NAME AS NAME, X=1
UNION ALL 
SELECT NAME, X+1
FROM MYCTE
WHERE X<@I
)
-- INSERT INTO...
SELECT * 
FROM MYCTE OPTION(MAXRECURSION 100)