1.删除多张表时,若涉及外键关系,需注意删除顺序
删除顺序有误时,会报错,提示“外键名”违反完整性约束,
处理方案:
先根据外键名查询相关表引用的主键
--根据外键名查主键
select c.r_constraint_name
from user_constraints c
where c.constraint_type = 'R'
and c.constraint_name = '外键名';
再根据主键查询所有引用该主键作为外键的表
--根据主键名查所有引用主键作为外键的表
select c.constraint_name,
c.table_name,
c.constraint_type,
c.r_constraint_name
from user_constraints c
where c.r_constraint_name = 'PK_LCPOL'
and c.constraint_type = 'R';
再自行筛查删除顺序,删除表内容,(⊙o⊙)…
2.数据修改之痛
工作难免有数据修改的时候,客户填写信息有误,数据存储一堆错误数据,修改...
解决方案:找到所有涉及到错误字段的表,一一修改
--查询出数据库的当前用户中所有包含错误数据字段名字段的表的名称
select distinct TABLE_NAME
from all_tab_columns a
where a.COLUMN_NAME in ('错误数据所在字段名')
and a.OWNER = '当前登录用户'
and TABLE_NAME in
(select TABLE_NAME from all_tables b where b.num_rows > 0);