고유하게 컴파일된 저장 프로시저에서 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 구문.