mssql sqlserver 表作为存储过程/函数的输入参数的方法分享


摘要:
下文主要讲述在存储过程中,使用自定义类型(表类型),作为存储过程的参数的应用


使用表参数的意义:
可以一次向存储过程中传入多个参数,多行数据,减少临时表的创建
————————————————————
在表参数出现之前,我们需传入多行数据时,通常的做法是将数据转换为xml类型,
然后再将xml字符串转换为表数据。
————————————————————
例:
表参数的用法

   /* 创建表类型.*/
create type Type_test as table(keyId int,info varchar(30));
go
/* 创建一个存储过程以表值参数作为输入 */
create Procedure pr_testTable(@tmp Type_test readonly)
as
select *,getdate() from @tmp;
go

  
/* 声明表值参数变量.*/
declare @tmp as Type_test;
/*对自定义类型进行数据插入*/
insert into @tmp(keyId,info)
values(10,'test'),(20,'maomao365.com'),(30,'猫猫小屋')

/* 存储过程运行表参数*/
exec  pr_testTable @tmp;
go
 
drop proc   pr_testTable
go
drop type Type_test
go
   
mssql_sqlserver_表类型输入存储过程应用

mssql_sqlserver_表类型输入存储过程应用