sqlserver 循环临时表插入数据到另一张表
时间: 2023-09-08 10:04:19 浏览: 121
sql将一个表中的数据插入到另一个表中的方法
在SQL Server中,可以使用循环和临时表来插入数据到另一张表。下面是一个示例:
首先,创建一个临时表,并插入需要的数据:
```
CREATE TABLE #TempTable (ID INT, Name VARCHAR(50))
INSERT INTO #TempTable VALUES (1, 'John'), (2, 'Jane'), (3, 'David')
```
然后,创建另一张表,并使用循环从临时表中逐行插入数据:
```
CREATE TABLE NewTable (ID INT, Name VARCHAR(50))
DECLARE @ID INT
DECLARE @Name VARCHAR(50)
DECLARE @RowCount INT
SET @RowCount = (SELECT COUNT(*) FROM #TempTable)
DECLARE @Counter INT
SET @Counter = 1
WHILE @Counter <= @RowCount
BEGIN
SELECT @ID = ID, @Name = Name
FROM #TempTable
WHERE ID = @Counter
INSERT INTO NewTable VALUES (@ID, @Name)
SET @Counter = @Counter + 1
END
```
最后,可以查询新表来验证数据已成功插入:
```
SELECT * FROM NewTable
```
以上是使用SQL Server循环临时表插入数据到另一张表的方法。请注意,在实际使用中,循环可能不是最有效的方法,可以考虑使用其他技术,如JOIN或MERGE来处理数据插入。
阅读全文