SQL server存储过程一个变量导入.多个值
时间: 2023-07-13 15:05:05 浏览: 238
在 SQL Server 存储过程中,可以使用表值参数(Table-Valued Parameters)来传递多个值。下面是一个简单的示例:
1. 首先创建一个用户自定义表类型(User-Defined Table Type):
```sql
CREATE TYPE MyTableType AS TABLE (
Column1 INT,
Column2 NVARCHAR(50)
);
```
2. 在存储过程中声明一个输入参数,类型为刚才创建的用户自定义表类型:
```sql
CREATE PROCEDURE MyStoredProcedure
@MyTableVariable MyTableType READONLY
AS
BEGIN
-- 在此处使用 @MyTableVariable 变量进行操作
END;
```
3. 在调用存储过程时,可以将一个包含多个行的表传递给 @MyTableVariable 参数:
```sql
DECLARE @MyTableVariable MyTableType;
INSERT INTO @MyTableVariable (Column1, Column2)
VALUES (1, 'Value 1'), (2, 'Value 2'), (3, 'Value 3');
EXEC MyStoredProcedure @MyTableVariable;
```
在存储过程中,可以像操作普通表一样使用 @MyTableVariable 变量。例如,可以使用 SELECT 语句查询其中的数据,或者使用 INSERT INTO 语句将数据插入到其他表中。
需要注意的是,表值参数只能在 SQL Server 2008 或更高版本中使用。如果你的 SQL Server 版本低于 2008,可以考虑使用 XML 或字符串拼接等方式传递多个值。
阅读全文