如何判断Sysbase中的#table是否存在索引?

use*_*581 1 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.
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

短发

Mic*_*ner 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"
Run Code Online (Sandbox Code Playgroud)