Табличные переменные в процедуре oltp в памяти - PullRequest
0 голосов
/ 31 мая 2018

Могу ли я использовать табличную переменную в оптимизированной для памяти процедуре?

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 голосов
/ 01 июня 2018

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

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

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

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

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

...