在本文中,介绍了如何将表作为参数传递给SQL Server 2008中的存储过程。
要实现这一点,我们创建一个名为EMP的表,然后创建一个用户定义的表类型,然后我们将通过用户定义的表类型作为存储过程的参数。
示例
首先,我们创建一个名为EMP的表。
create table [dbo].[emp] ( [emp_id] [int] NULL, [em_name] [varchar](10) NULL )
创建一个用户定义的表类型,该表类型将作为存储过程中的参数传递。
create type dbo.empType as table ( [emp_id] [int] , [em_name] [varchar](10) )
创建存储过程
现在创建名为empdetailsprocedure的存储过程。
此存储过程将接受表值参数。
create procedure dbo.empDetailsProcedure @empDetails dbo.empType readonly as begin set nocount on insert into dbo.[emp]([emp_id], [em_name]) select [emp_id], [em_name] from @empDetails end
现在执行存储过程
declare @empVariable as empType insert into @empVariable([emp_id], [em_name]) values(1,'abc') exec dbo.empDetailsProcedure @empVariable
现在选择上面插入的数据。
select * from emp
日期:2020-06-02 22:18:05 来源:oir作者:oir