在我的数据库中,表:
- test1--不存在
- 测试2--存在
- 测试3--存在
运行下面的块时,它会为 test1 抛出“表不存在”错误。但是,尽管出现错误,我还是想为 test2 和 test3 运行以下 drop 语句,因为对于我的情况,“不存在”对我来说很好,因为我将在下一步中创建所有 3 个表。
set serveroutput ON;
BEGIN
begin
EXECUTE IMMEDIATE 'drop table test1';
dbms_output.put_line('test1 dropeed successfully');
EXECUTE IMMEDIATE 'drop table test2';
dbms_output.put_line('test2 dropped successfully');
EXECUTE IMMEDIATE 'drop table test3';
dbms_output.put_line('test3 dropped successfully');
exception
when others then
dbms_output.put_line('Error >> '|| SQLERRM ||' -->'|| dbms_utility.format_error_backtrace);
end;
end;
期望:-它也应该删除 test2 和 test3,即使我们得到 test1 的表不存在错误。