SQL Server中存儲過程的傳入參數可否可以有table類型
SQL Server中存儲過程的傳入參數能否可以有table類型?
請問各位,
SQL Server中存儲過程的傳入參數能否可以有table類型?具體要如何使用?謝謝!
------解决方案--------------------
可以,不过这个传入后,是只读的:
------解决方案--------------------
可以,用表变量
------解决方案--------------------
在执行存储过程之前创建的临时表,在存储过程中可以使用.
請問各位,
SQL Server中存儲過程的傳入參數能否可以有table類型?具體要如何使用?謝謝!
------解决方案--------------------
可以,不过这个传入后,是只读的:
--创建自定义类型,这里的自定义类型是表,可存储记录
CREATE TYPE MyTable AS TABLE
( a VARCHAR(50),
b INT )
GO
--drop proc proc_table
--创建存储过程,传入参数为自定义表
CREATE Procedure dbo.proc_table
(@ManyRows as MyTable readonly
)
as
select * from @manyrows
go
declare @t MyTABLE
--可以直接把数据添加到LocationTableType类型中
--可以存储多条记录
insert into @t
select '123',1
union all
select 'abc',2
exec proc_table @t
/*
a b
-------------------------------------------------- -----------
123 1
abc 2
(2 行受影响)
*/
------解决方案--------------------
可以,用表变量
------解决方案--------------------
在执行存储过程之前创建的临时表,在存储过程中可以使用.