Sql server 如何在SQL Server中获取临时表的索引(或索引计数)

Sql server 如何在SQL Server中获取临时表的索引(或索引计数),sql-server,sql-server-2012,Sql Server,Sql Server 2012,请注意,以下内容与JDBC有关。 临时表temp_NOTIF是这样创建的 IF OBJECT_ID('tempdb..#TEMP_NOTIF') IS NOT NULL TRUNCATE TABLE #TEMP_NOTIF ELSE CREATE TABLE #TEMP_NOTIF (ID varchar(50) NOT NULL PRIMARY KEY) 在上表中创建了索引IX_TEMP CREATE INDEX IX_TEMP_NOTIF ON #TEMP_NOTIF (ID ASC)

请注意,以下内容与JDBC有关。 临时表temp_NOTIF是这样创建的

IF OBJECT_ID('tempdb..#TEMP_NOTIF') IS NOT NULL TRUNCATE TABLE #TEMP_NOTIF ELSE CREATE TABLE #TEMP_NOTIF (ID varchar(50) NOT NULL PRIMARY KEY)
在上表中创建了索引IX_TEMP

CREATE INDEX IX_TEMP_NOTIF ON #TEMP_NOTIF (ID ASC)
上述两个操作应该在循环中运行,以清除旧元组。如果表已经存在,则它会截断,但问题是IndexIndex应仅在第一次创建。如何查找临时表上是否存在索引的索引或计数?我试过使用

select * from sys.indexes where name='IX_TEMP_NOTIF'
但是没有返回元组

我正在使用SQL SERVER 2012。
如果您需要更多信息,请告诉我。

您的第一条SQL语句知道在tempdb中查找临时表,因此您的后续语句应该在tempdb中查找该表上的索引:

从tempdb.sys.index中选择*,其中name='IX_TEMP\u NOTIF'
到底是什么问题?您知道是否需要创建索引,也就是说,如果表不存在,则什么也不做。@AlexK。这两个查询位于java方法中。在第二次迭代中,由于声明表上已经存在索引,所以失败。我正在寻找一个只有在尚未创建索引时才会创建索引的查询。尝试了上面的查询,仍然是零行。是的,它可以工作。我在找错误的索引。谢谢你@GordThompson。