SqlServerinsert into 批量插入数据
时间: 2023-11-21 18:55:21 浏览: 68
mybatis 批量插入返回主键
可以使用SQL Server的“表值构造函数”来实现批量插入数据。具体步骤如下:
```sql
-- 创建一个表类型
CREATE TYPE dbo.MyTableType AS TABLE
( ID INT, Name VARCHAR(50), Description VARCHAR(100) );
-- 创建一个存储过程,接收表类型参数
CREATE PROCEDURE dbo.InsertMyData
@MyData dbo.MyTableType READONLY
AS
BEGIN
INSERT INTO MyTable (ID, Name, Description)
SELECT ID, Name, Description
FROM @MyData;
END;
GO
-- 声明一个表类型变量,并插入数据
DECLARE @MyData AS dbo.MyTableType;
INSERT INTO @MyData (ID, Name, Description)
VALUES (1, 'Name 1', 'Description 1'),
(2, 'Name 2', 'Description 2'),
(3, 'Name 3', 'Description 3');
-- 调用存储过程插入数据
EXEC dbo.InsertMyData @MyData;
```
以上代码创建了一个表类型,一个存储过程和一个表类型变量,并使用INSERT INTO语句将数据插入到表类型变量中。最后,调用存储过程并将表类型变量作为参数传递给它,以将数据批量插入到表中。
阅读全文