【发布时间】:2021-07-04 04:31:28
【问题描述】:
我想在我的函数中创建一个表,但在 OBJECT_ID 上添加非唯一索引时遇到了麻烦。
DECLARE @VIEW_MY_DATA TABLE
(
[AREA_ID] INT,
[OBJECT_ID] INT,
[PARENT_ID] INT,
[OBJECT_TYPE] varchar(50) COLLATE SQL_Latin1_General_CP1_CI_AS,
[RELATION] varchar(50)
)
我无法在函数中使用CREATE TABLE。如何在 SQL Server 2012 中实现?
【问题讨论】:
-
您不能索引表变量。
-
你为什么要
CREATE一个表,或者在函数中声明一个表变量?因此,您似乎正在使用多行函数,这比内联函数慢得多。 -
@Lamu 是的,它作为临时表来存储数据,用于后面的sql代码的join。
-
L a r n u... 请。
-
@VIEW_MY_DATA不是临时表,而是表变量。它们完全不同。但是,再次切换到内联函数;它们的速度要快得多。
标签: sql sql-server temp-tables