我遇到了一个问题,如果用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
和其他一些东西。
再试试这样的东西,利用系统命令。这是我在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;