如何确定Sybase中#table上是否存在索引?

时间:2014-01-17 14:27:00

标签: sql indexing sybase

我在Sybase 15 SQL中使用存储过程。我想在临时#table上识别索引。常用技术适用于永久表,但不适用于临时表:

--look for an index on a temporary table

create table #T1( duff int)

create index idx99 on #T1(duff)

select * from sysindexes where name = 'idx99' --returns null rows !

--Look for an index on a permanent table

create table T1( duff int)

create index idx99 on T1(duff)

select * from sysindexes where name = 'idx99' --returns a row. OK for perm table.

有什么想法吗?

鲍勃

1 个答案:

答案 0 :(得分:5)

对于#tables,查找索引的查询与普通表相同,但需要针对tempdb执行(或者如果不是默认值,则执行会话的临时数据库)。

SELECT o.name, i.name
FROM tempdb..sysobjects o, tempdb..sysindexes i
WHERE o.id = i.id
AND o.name like "#T1%"
AND i.name like "idx99"
相关问题