您的位置:首页 > 数据库

sqlserver2008 存储过程使用表参数

2016-01-16 14:13 344 查看
----首先,我们定义一个表值参数类型,其实就是一个表变量
Create type dbo.tp_Demo_MultiRowsInsert as Table
(
[PName] [Nvarchar](20) NOT NULL,
[GName] [Nvarchar](20) NOT NULL
)
GO

----下面我们用这个表变量做参数,通过存储过程调用它
CREATE Procedure dbo.CPP_InsertMultiRows
(@ManyRows as tp_Demo_MultiRowsInsert readonly
)
as
INSERT [dbo].[tb_Demo_MultiRowsInsert]
SELECT PName,GName from @ManyRows

GO

----程序中构造多个行集
DECLARE @tmpRows as tp_Demo_MultiRowsInsert

----插入多个数据到参数表中
INSERT @tmpRows(PName,GName) values('胡一刀','国土资源部')
INSERT @tmpRows(PName,GName) values('胡青牛','医药局')
INSERT @tmpRows(PName,GName) values('令狐冲','文广中心')

----传递参数到存储过程,完成一次多行集插入
EXEC dbo.CPP_InsertMultiRows @tmpRows
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: