如何声明和初始化用户定义的表类型?

时间:2016-08-30 14:44:37

标签: sql-server-2008

我创建了这个用户表类型

CREATE TYPE [dbo].[IntArray] AS TABLE
(
    IntValue INT
)

我还创建了一个函数

CREATE FUNCTION [dbo].[fnProcessIntArray]
(
    @IntArray as dbo.intArray READONLY
)
RETURNS NVARCHAR(max)
AS
BEGIN
-- Input is table of int values
-- Output example : '1,2,3,4'
...
END

现在我需要测试一个功能,但我不知道怎么做,我试过了

SELECT dbo.fnProcessIntArray((SELECT 1))
-- Error: Operand type clash: int is incompatible with IntArray

SELECT dbo.fnProcessIntArray((SELECT 1,2,3,4))
-- Error: Only one expression can be specified in the select list when the subquery is not introduced with EXISTS.

如何将@intArray声明为dbo.IntArray?

0 个答案:

没有答案