Ⅰ oracle 索引存在則刪除
Oracle sqlplus代碼如下者穗:
set serverout on;
declare
cnt number(10):=0;
begin
select count(*) into cnt from all_indexes where index_name='TEST_INDEX' and table_name='SYS_TEST'首銀卜;
if cnt=1 then
Execute immediate'drop index test_index';
Execute immediate'create index test_index on sys_test(aaa) indextype is ctxsys.context';
dbms_output.PUT_LINE('索引已經刪除並重建搏滲');
else
dbms_output.PUT_LINE('索引不存在');
end if;
end;
Ⅱ oracle資料庫中有索引,腳本調用SQL刪除索引報錯"ORA-01418:sepecified index does not exist"。
是否為索引名稱是隨機產生的數字,mssqlserver中遇到過。
Ⅲ oracle 怎麼刪除強制唯一的索引
先把該索引相關聯的約束disable或者drop掉,然後再刪就可以了。
Ⅳ sql 刪除語句
1、delete 語句用於刪除表中的行。delete語句執行刪除的過程是每次從表中刪除一行,並且同時將該行的刪除操作作為事務記錄在日誌中保存
語法:DELETE FROM 表名稱 WHERE 列名稱 = 值,
如:刪除student表中姓名為張三豐的學生信息-delete from studentwhere name=『張三豐』;
2、drop (刪除表):刪除內容和定義,釋放空間。簡單來說就是把整個表去掉.以後要新增數據是不可能的,除非新增一個表。
drop語句將刪除表的結構被依賴的約束(constrain),觸發器(trigger)索引(index);依賴於該表的存儲過程/函數將被保留,但其狀態會變為:invalid。
3、truncate (清空表中的數據):刪除內容、釋放空間但不刪除定義(保留表的數據結構)。與drop不同的是,只是清空表數據而已。
注意:truncate 不能刪除行數據,要刪就要把表清空。
(4)oracle表刪除索引sql擴展閱讀:
資料庫操作中,經常要用到刪除表和刪除表數據,在實際應用中,三者的區別是明確的。
當你不再需要該表時, 用 drop;
當你仍要保留該表,但要刪除所有記錄時, 用 truncate;
當你要刪除部分記錄時(always with a WHERE clause), 用 delete。
truncate 與delete 比較:
1、truncate table 在功能上與不帶 WHERE 子句的 delete語句相同:二者均刪除表中的全部行。
2、truncate 比 delete速度快,且使用的系統和事務日誌資源少。
3、truncate 操作後的表比Delete操作後的表要快得多。
Ⅳ oracle刪除一個用戶的表,索引,觸發器,序列,直接在plsql中刪除而不用sql語句,有什麼不好的地方么
建議使用sql語句進行操作,因為圖形化的東西有時候搏慶會出現問題,就算你刪除了相關對象以後,還是需要通過查詢資料庫數據字典或者動態性能視圖來確認,你說的pl/sql 是pl/sql developer工具吧?這個工具有時會出現很多異常情況,比如:切換資料庫連接的時候有時候切不過基掘去,換用戶登錄的時候也會出現這種情況,再有對資料庫進行操作的時候有時還會莫名奇怪的死了,這樣就無法判斷是不是執行成功了,還得通過sql來確定。
以上,是個人建議!希望能幫基鋒握助你!
Ⅵ oracle如何刪除正在使用中的索引
你好,先把服務關閉了,這樣其他人就不能使用了,於是你就可以刪除索引了。
Ⅶ oracle刪除某個表的索引的sql語句
刪除掉table_name中的索引index_name的SQL語句如下:
DROP INDEX index_name ON talbe_name
Ⅷ oracle sql 語句中不可以刪除索引命令的是
不能刪除索引的命令,沒有聽說過。
是否,是想達到這樣一個目的:將索輪畝引鎖定,禁止刪除?或者是給予許可權才可刪除?
如果是這樣的話,蘆橡我只能告訴你。oracle中,通常都是一個user中管理一個項目,換句話說,一個項目中相關的陪桐旁表都在一個user下建立;另一個項目,就在令一個user下建立。索引當然包括其中。如果,你不想別人亂搞你的數據,那麼,給user指定許可權就可以了。
Ⅸ oracle索引問題,刪除再重建索引與索引分析
1. 應該是可行的, 具體 會不會節省時間 試一下就可以了。
2. 大概每個月存儲四五十萬的數據,裡面只保存最新四個月的數據
每次create這7個索引用時都特別長,大概需要三四個小時;
200萬的數據,重建索引花費的時間太長了;很奇怪。
3. 估計之前的 先drop掉索引,然後插入數據完畢後create索引 也是為了避免 插入數據時,索引對插入效率的影響。
Ⅹ oracle刪除索引的sql語句
DROP INDEX index_name ON talbe_name