5
我正在嘗試構建一個Firebird腳本,以確保某個索引存在並正確創建。經過一番Google搜索後,我得到了什麼似乎是正確的語法:如何製作可重複的索引腳本?
SET TERM^;
execute block as begin
IF (EXISTS(SELECT RDB$INDEX_NAME
FROM RDB$INDICES
WHERE RDB$RELATION_NAME='TABLE_NAME'
and RDB$INDEX_NAME = 'INDEX_NAME')) THEN
execute statement 'drop index INDEX_NAME';
end
SET TERM ;^
CREATE UNIQUE INDEX INDEX_NAME
ON TABLE_NAME
(FIELD1, FIELD2, FIELD3);
這將運行一次,它工作正常。但是,如果我嘗試第二次運行它,則會出現「索引已存在」錯誤,這表示execute statement
部分實際上並未運行。
我錯過了什麼?我如何使這個腳本正常工作?
謝謝。這工作。 –