ネイティブ コンパイル ストアド プロシージャからの TempDB でのテーブルの作成とアクセスはサポートされていません。 代わりに、テーブル型とテーブル変数を使用します。 例えば次が挙げられます。
CREATE TYPE dbo.OrderQuantityByProduct
AS TABLE
(id INT NOT NULL PRIMARY KEY NONCLUSTERED HASH WITH (BUCKET_COUNT=100000),
ProductID INT NOT NULL,
Quantity INT NOT NULL) WITH (MEMORY_OPTIMIZED=ON)
GO
CREATE PROCEDURE dbo.usp_OrderQuantityByProduct
WITH NATIVE_COMPILATION, SCHEMABINDING, EXECUTE AS OWNER
AS BEGIN ATOMIC WITH
(
TRANSACTION ISOLATION LEVEL = SNAPSHOT,
LANGUAGE = 'english'
)
-- declare table variables for the list of orders
DECLARE @Input dbo.OrderQuantityByProduct
-- populate input
INSERT @Input SELECT ProductID, Quantity FROM dbo.[Order Details]
end
こちらもご覧ください
ネイティブ コンパイル ストアド プロシージャの移行に関する問題
インメモリ OLTP でサポートされていない Transact-SQL の構造