将TABLE作为参数传递而不创建TYPE

时间:2016-07-22 18:01:53

标签: sql-server

我知道可以通过执行以下操作来创建存储过程并将TABLE作为参数传递:

CREATE TYPE MyTableType AS TABLE (Id UNIQUEIDENTIFIER)

CREATE PROCEDURE MyProcedure
    @ids MyTableType READONLY
AS
...

我不想像上面那样创建一个TYPE,因为我被告知不要在数据库中创建类型依赖项。所以我想做以下事情:

CREATE PROCEDURE MyProcedure
    @ids TABLE (Id UNIQUEIDENTIFIER)
AS

但由于某种原因,我得到错误亮点。我在语法上做错了吗?或者这不可能吗?

1 个答案:

答案 0 :(得分:4)

我认为不可能像你想要的那样声明一个内联的表类型。表值参数this article中的第一行表示:

  

使用用户定义的表类型声明表值参数。