Табличные переменные в процедуре 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);
Более быстрая временная таблица и табличная переменная с помощью оптимизации памяти