内存oltp过程中的表变量

时间:2018-05-31 13:46:52

标签: azure-sql-database in-memory-database in-memory-oltp

我可以在内存优化程序中使用表变量吗?

DECLARE @tvTableD TABLE  
    ( Column1   INT   NOT NULL ,  
      Column2   CHAR(10) );  

在这里说,不。 https://docs.microsoft.com/en-us/sql/relational-databases/in-memory-oltp/transact-sql-constructs-not-supported-by-in-memory-oltp?view=sql-server-2017#natively-compiled-stored-procedures-and-user-defined-functions

有人可以确认一下吗?

1 个答案:

答案 0 :(得分:0)

您关联了文档:

“不能使用变量声明内联声明表类型。必须使用CREATE TYPE语句显式声明表类型。”

本文介绍如何使用表类型替换内联表变量声明:

CREATE TYPE dbo.typeTableD  
    AS TABLE  
    (  
        Column1  INT   NOT NULL   INDEX ix1,  
        Column2  CHAR(10)  
    )  
    WITH  
        (MEMORY_OPTIMIZED = ON); 

Faster temp table and table variable by using memory optimization