oracle数据库怎样删除所有表中的某列值为1的数据?
oracle数据库中有N多表,每个表中均有sfsx(是否生效)列,怎样删除所有表中的sfsx=1的所有数据?
oracle数据库中有N多表,每个表中均有sfsx(是否生效)列,怎样删除所有表中的sfsx=1的所有数据?
答案:我教你一招:
sqlplus 用户名/口令@数据库别名
set heading off
set pagesize 0
select 'delete from ' || table_name || ' where sfsx=1;' from user_tables;
spool c:\del.sql
/
spool off
@c:\del.sql
exit
其他:另外还可以有个办法,建立在你对数据库非常清楚的前提下
不管什么数据库表名、字段名、索引名、主键名、用户数据库状态等信息都会写在master库中,在这个库中你可以取得所有表名,通过查询指定系统表产生指定条件的删除语句的查询结果,你另存出来就可以直接执行了。
上一个:求oracle的视屏教程,我是初学者。
下一个:Oracle 的 ERP 客户端中文都是问号。如图,请问怎么设置可以设回来。有这种经验的朋友吗?