表变量当做参数传递

CREATE TYPE xTableType AS TABLE(id int ,NAME nvarchar(100));

CREATE PROCEDURE SP_TbType
(
    @tb xTableType READONLY
)
AS
BEGIN
    SELECT * FROM @tb;

END

DECLARE @tb1 xTableType;
INSERT INTO @tb1 VALUES (1,'fdsfdsf')

EXEC SP_TbType @tb=@tb1

在SQL Server 2008中,你可以将表变量作为参数传入存储过程。但是临时表不行。在SQL Server 2000和2005中表变量也不行。

原文地址:https://www.cnblogs.com/xingbinggong/p/7771215.html