代码改变世界

表变量当做参数传递

2017-11-02 11:05  Carl Xing  阅读(476)  评论(0编辑  收藏  举报
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中表变量也不行。