使用表值参数将多行插入表中

首先,定义要使用的已定义表类型

CREATE TYPE names as TABLE
(
    FirstName varchar(10),
    LastName varchar(10)
)
GO

创建存储过程:

CREATE PROCEDURE prInsertNames
(
    @Names dbo.Names READONLY -- Note: You must specify the READONLY
)
AS

INSERT INTO dbo.TblNames (FirstName, LastName)
SELECT FirstName, LastName
FROM @Names 
GO

执行存储过程:

DECLARE @names dbo.Names
INSERT INTO @Names VALUES
('Zohar', 'Peled'),
('First', 'Last')

EXEC dbo.prInsertNames @Names