ORACLE 查询删除表的索引和约束 以及 批量删除表的索引和约束
生活随笔
收集整理的這篇文章主要介紹了
ORACLE 查询删除表的索引和约束 以及 批量删除表的索引和约束
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
-- 查詢單表的索引(方式一)
select * from all_indexes WHERE table_name='表名';
-- 查詢單表的約束
SELECT u_cons.* FROM user_cons_columns u_cons_cols,user_constraints u_cons WHERE u_cons_cols.constraint_name = u_cons.constraint_name AND u_cons_cols.table_name = '表明';-- 單表刪除約束
alter table 表名 drop constraint '約束名'-- 單表刪除索引
DROP INDEX 索引名-- 批量刪除表中的所有約束
declare s_sql clob := '' ;
BEGIN
for item in ( SELECT au.CONSTRAINT_NAME FROM user_cons_columns cu,user_constraints au WHERE cu.constraint_name = au.constraint_name AND cu.table_name = 'xx' )loopexecute immediate 'alter table WORKS_REGISTER drop constraint '|| item.CONSTRAINT_NAME;s_sql:='alter table WORKS_REGISTER drop constraint '|| item.CONSTRAINT_NAME;dbms_output.put_line(s_sql);end loop ;commit;
END;-- 批量刪除表中的所有索引
declare s_sql clob := '' ;
BEGIN
for item in ( select * from all_indexes WHERE table_name='xx' )loopexecute immediate 'drop '|| 'INDEX '|| item.INDEX_NAME;s_sql:='drop '|| 'INDEX '|| item.INDEX_NAME;dbms_output.put_line(s_sql);end loop ;commit;
END;
查詢沒有添加 主鍵的表
SELECT
*
FROM
user_tables A
WHERE
NOT EXISTS (
SELECT
*
FROM
user_constraints b
WHERE
A .table_name = b.table_name
AND b.constraint_type = ‘P’
);
總結
以上是生活随笔為你收集整理的ORACLE 查询删除表的索引和约束 以及 批量删除表的索引和约束的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于一篇全速自适应巡航的SCI论文所思、
- 下一篇: 互联网简历的编写方法