我在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.
有什么想法吗?
鲍勃
答案 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"