zoukankan      html  css  js  c++  java
  • Oracle中快速查询和操作某个用户下的所有表数据信息

    一、禁止所有的外键约束

    在pl/sql developer下执行如下语句:
    SELECT 'ALTER TABLE ' || table_name || ' disable CONSTRAINT ' || constraint_name || ';' FROM user_constraints where CONSTRAINT_TYPE = 'R';
    把查询出来的结果拷出来在pl/sql developer时执行。

    先看看user_constraints是什么

    user_constraints是表约束的视图,描述的是约束类型(constraint_type)是什么,属于哪些表(table_name),如果约束的类型为R(外键)的话,那么r_constraint_name字段存放的就是被引用主表中的主键约束名。

    先看看user_cons_columns是什么

    user_cons_columns是表约束字段的视图,说明表中的和约束相关的列参与了哪些约束。这些约束有主键约束,外键约束,索引约束.
      两者可以通过(owner,constraint_name,table_name)关联 

    select 
    a.owner 外键拥有者, 
    a.table_name 外键表, 
    substr(c.column_name,1,127) 外键列, 
    b.owner 主键拥有者, 
    b.table_name 主键表, 
    substr(d.column_name,1,127) 主键列 
    from 
    user_constraints a, 
    user_constraints b, 
    user_cons_columns c, 
    user_cons_columns d 
    where 
        a.r_constraint_name=b.constraint_name 
    and a.constraint_type='R' 
    and b.constraint_type='P' 
    and a.r_owner=b.owner 
    and a.constraint_name=c.constraint_name 
    and b.constraint_name=d.constraint_name 
    and a.owner=c.owner 
    and a.table_name=c.table_name 
    and b.owner=d.owner 
    and b.table_name=d.table_name

    用delete或truncate删除用户所有表的内容

    SELECT 'DELETE FROM '|| table_name || ';' FROM USER_TABLES
    ORDER BY TABLE_NAME;

    SELECT 'TRUNCATE TABLE '|| table_name || ';' FROM USER_TABLES
    ORDER BY TABLE_NAME;
    用第一步类似的方法操作。要注意的一点是,若表的数据有触发器相关联,只能用truncate语句,不过truncate语句不能回滚,所以时要注意

    三、把已经禁止的外键打开

    SELECT 'ALTER TABLE ' || table_name || ' enable CONSTRAINT ' || constraint_name || ';' FROM user_constraints where CONSTRAINT_TYPE = 'R';

    查出来的表结果是执行语句:如下 

    1 TRUNCATE TABLE A;
    2 TRUNCATE TABLE ACCEPT_SN;
    3 TRUNCATE TABLE B;

  • 相关阅读:
    uitableview 默认选中行
    ipad 开发常用问题
    NSDate常用代码范例
    MOSS2010站点大文件上传设置
    scm xcode 配置
    ipad 开发 遇到BadAccess
    Tutorial: iPhone SQLite Encryption With SQLCipher
    uitableview
    UML建模——活动图(Activity Diagram)
    【随感】.........................
  • 原文地址:https://www.cnblogs.com/Luouy/p/5318468.html
Copyright © 2011-2022 走看看