Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server Microsoft SQL Server 2005检查临时表是否为空_Sql Server_Temp Tables - Fatal编程技术网

Sql server Microsoft SQL Server 2005检查临时表是否为空

Sql server Microsoft SQL Server 2005检查临时表是否为空,sql-server,temp-tables,Sql Server,Temp Tables,是否有一种快速/高效的方法来检查表是否为空 DECLARE @StartEndTimes TABLE ( id bigint, StartTime datetime, EndTime datetime ) IF @StartEndTimes IS NOT NULL 我想你最好的选择可能是 而不是计算你可以 if exists (select id from @StartEndTimes) set @has_stuff = 1 当它到达一行时将立即返回。仅供参考

是否有一种快速/高效的方法来检查表是否为空

DECLARE @StartEndTimes TABLE
(
    id bigint,
    StartTime datetime,
    EndTime datetime
)

IF @StartEndTimes IS NOT NULL

我想你最好的选择可能是


而不是计算你可以

if exists (select id from @StartEndTimes)
   set @has_stuff = 1

当它到达一行时将立即返回。

仅供参考上面的代码创建一个表变量而不是临时表。Temp表前面有#并存储在tempdb中,我相信在sql实例重新启动并重新创建tempdb之前,Temp表将继续存在。实际上,它们可能几乎相同(但在不同的范围内),根据SQL pros所做的一些研究:+1,我也是。它查找一行并返回……count必须遍历表
if exists (select id from @StartEndTimes)
   set @has_stuff = 1