【发布时间】:2021-11-08 16:57:03
【问题描述】:
我想生成一个带有文件名的假脱机文件并将其存储到我可以在代码本身中提供的路径的本地文件夹中。怎么做?假设下面是我希望在单独的 SQL 文件中生成脚本的代码
declare
lv_str varchar2(1000);
begin
for c in(select distinct a.table_name as table_name,
b.table_name as parent_table_name ,
a.owner
from all_constraints a,
all_constraints b
where a.r_constraint_name = b.constraint_name
and a.constraint_type = 'R'
and b.constraint_type = 'P'
and a.owner = b.owner -- if parent and child belongs to the same schema
and a.owner = 'SCOTT'
) loop
lv_str :='DROP TABLE ' || c.owner || '.' || c.table_name || '; -- ' || c.parent_table_name;
dbms_output.put_Line (lv_str );
end loop;
end;
/
另外,一个小帮助如果我想删除表名,是否也需要删除父表。如果是,如何一次删除 table_name 和 parent_table_name?(根据代码)。
【问题讨论】:
标签: plsql oracle-sqldeveloper plsqldeveloper