Табличные переменные в процедуре 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

Может кто-нибудь, пожалуйста, подтвердите то же самое?

1 ответ

Вы связали документ:

"Типы таблиц не могут быть объявлены inline с объявлениями переменных. Типы таблиц должны быть объявлены явно с помощью оператора CREATE TYPE".

В этой статье показано, как заменить объявление переменной встроенной таблицы на тип таблицы:

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

Более быстрая временная таблица и табличная переменная с помощью оптимизации памяти

Другие вопросы по тегам