SQL:如何获取临时表名称

时间:2022-04-08 12:14:11
情况是这样的,要做一个报表,在数据库中用函数返回数据。函数是表函数,也就是在代码中定义了一个临时表@table,然后往该表中插入和修改数据,但是该数据量太大,插入以后(5秒钟左右插入完成)再用几个update更新该表,速度超级慢,所以我想为该临时表建立一个索引(非更新字段)来加快更新速度,可是@table并不是这个临时表的真正表名,要怎样才知道@table的真正表名并为其建立索引呢?

7 个解决方案

#1


@table 是表变量
是不能建立索引的

#2


函数是表函数,不是你想象中的临时表.所以你的需求无法实现.

#3


引用 2 楼 dawugui 的回复:
函数是表函数,不是你想象中的临时表.所以你的需求无法实现.

函数是表变量,不是你想象中的临时表.所以你的需求无法实现.

#4


引用 1 楼 sql_sf 的回复:
@table 是表变量
是不能建立索引的

乍一看你的头像非常像我暗恋9年的MM哎。。。。

#5


SQL:如何获取临时表名称
引用 4 楼 xxyj6450 的回复:
引用 1 楼 sql_sf 的回复:

@table 是表变量
是不能建立索引的

乍一看你的头像非常像我暗恋9年的MM哎。。。。

#6



create function funA(
@parameters
...
)
returns @table(
  fields...
)
as 
begin
   sqlcode
   return
end

这里定义的表变量@table不是代表一个临时表吗?
系统在生成@table时就创建一个临时表吧。。我在跟踪死锁的时候发现在执行函数时SQLSERVER创建了一个临时表来的

#7


引用 5 楼 sql_sf 的回复:
引用 4 楼 xxyj6450 的回复:
引用 1 楼 sql_sf 的回复:

@table 是表变量
是不能建立索引的

乍一看你的头像非常像我暗恋9年的MM哎。。。。

真的,越看越像,造孽....

#1


@table 是表变量
是不能建立索引的

#2


函数是表函数,不是你想象中的临时表.所以你的需求无法实现.

#3


引用 2 楼 dawugui 的回复:
函数是表函数,不是你想象中的临时表.所以你的需求无法实现.

函数是表变量,不是你想象中的临时表.所以你的需求无法实现.

#4


引用 1 楼 sql_sf 的回复:
@table 是表变量
是不能建立索引的

乍一看你的头像非常像我暗恋9年的MM哎。。。。

#5


SQL:如何获取临时表名称
引用 4 楼 xxyj6450 的回复:
引用 1 楼 sql_sf 的回复:

@table 是表变量
是不能建立索引的

乍一看你的头像非常像我暗恋9年的MM哎。。。。

#6



create function funA(
@parameters
...
)
returns @table(
  fields...
)
as 
begin
   sqlcode
   return
end

这里定义的表变量@table不是代表一个临时表吗?
系统在生成@table时就创建一个临时表吧。。我在跟踪死锁的时候发现在执行函数时SQLSERVER创建了一个临时表来的

#7


引用 5 楼 sql_sf 的回复:
引用 4 楼 xxyj6450 的回复:
引用 1 楼 sql_sf 的回复:

@table 是表变量
是不能建立索引的

乍一看你的头像非常像我暗恋9年的MM哎。。。。

真的,越看越像,造孽....