SQL Server 允许您创建内存表。但是你如何插入操作呢?
例如,我使用这段代码来创建我的类型:
CREATE TYPE dbo.typeTableDelimetedFileSpec
AS TABLE
(
TemplateId INT NOT NULL,
FieldName VARCHAR(50) NOT NUL,
FieldPosition SMALLINT NOT NULL INDEX fpos
)
WITH (MEMORY_OPTIMIZED = ON);
然后,我尝试这样做:
DECLARE @T [dbo].[typeTableDelimetedFileSpec]
SELECT *
INTO @T
FROM [dbo].[_DelimetedFileSpec]
WHERE TemplateId = 1
我知道结构匹配(_DelimetedFileSpec
没有索引 fpos,但除此之外没有区别)。
我得到:'@T' 附近的语法不正确。
另外,为了检查没有其他错误,我确认以下工作正常:
SELECT *
INTO #x
FROM [dbo].[_DelimetedFileSpec]
WHERE TemplateId = 1
是否可以像这样以某种方式直接插入内存表?