Ⅰ 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