如何在SQL中向表中添加“X”行?
如果我有一张桌子,比如说顾客 我希望从用户那里收到一个数字表单,并在Customer表中创建X行。 假设客户在customer表中添加了数字4“我想要4个新行”。 我该怎么做如何在SQL中向表中添加“X”行?,sql,sql-server,insert,rows,Sql,Sql Server,Insert,Rows,如果我有一张桌子,比如说顾客 我希望从用户那里收到一个数字表单,并在Customer表中创建X行。 假设客户在customer表中添加了数字4“我想要4个新行”。 我该怎么做 insert into Customer Valus ('Helen' , 36 ) 这是你想要的吗- INSERT INTO Customers(Name) VALUES(NULL) GO 10 这将插入10行,您可以稍后进行更新 您可以使用存储过程,然后传递要添加的客户数。像这样的 create procedure
insert into Customer Valus ('Helen' , 36 )
这是你想要的吗-
INSERT INTO Customers(Name)
VALUES(NULL)
GO 10
这将插入10行,您可以稍后进行更新 您可以使用存储过程,然后传递要添加的客户数。像这样的
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
现在,这将从传入的变量生成4个相同的行。这将最多为100行 取消注释并根据需要更正insert语句
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)
你为什么要创建4个空行?这是一种思维实验还是你打算这么做。我很好奇,这是学校作业还是什么?这可能有什么真实的应用程序?多好的协同效应啊!我读了一篇文章,他的第一个答案给了我答案——这种方法的局限性-
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)