在索引不存在的情况下创建索引

问题描述 投票:1回答:2

我遇到了一个问题,如果用sql查询不存在,我就会用优势数据库服务器创建一个索引。

我的查询是这样的。

 If not Exists(<SELECT Query for amount of indizes for one column>) then 
 Create Index Test on Tablename (No); endif

所以我没有使用FullTextSearchIndizes, 因为它是一个整数字段. 否则的话,它就会是这样的。

 If not Exists(SELECT * FROM tablename WHERE CONTAINS( * , 'Test' )) then 
 Create Index Test on Tablename (Name) Content; endif     

所以,我唯一的问题是我如何获得索引。我在其他DBMS中读到过,你可以使用 sys.indexes 和其他一些东西。

sql indexing advantage-database-server
2个回答

0
投票

再试试这样的东西,利用系统命令。这是我在Advantage数据库上使用的一个工作例子。

IF (SELECT Name FROM system.indexes
   WHERE Index_File_Name = 'GLDept.adi'
   AND Index_Expression = 'DeptNumber') IS NULL
THEN
   EXECUTE PROCEDURE sp_CreateIndex90( 
   'GLDept',
   'GLDept.adi',
   'DEPTNUMBER',
   'DeptNumber',
   '',
   2051,
   512,
   '' );
END IF;
© www.soinside.com 2019 - 2024. All rights reserved.