oracle - 限制 Oracle 创建编译错误程序
问题描述
我想知道如果Oracle 有任何类型的错误,是否有办法让Oracle 不创建过程/函数。
解决方案
在 CREATE 之后的 SQL 脚本中,您可以检查 ALL_ERRORS(或 dba_errors)以查找该对象上的错误,如果存在错误,则立即执行以删除它。
例如)
set serveroutput on
create or replace procedure meowner.testproc
as
begin
select;
end;
/
DECLARE
x number;
begin
select count(*) into x from all_errors
where owner = 'MEOWNER' and NAME='TESTPROC' ;
if x != 0 then
EXECUTE IMMEDIATE 'DROP PROCEDURE meowner.testproc';
dbms_output.put_line('Dropped due to compile error');
end if;
end;
/
PROCEDURE TESTPROC compiled
Errors: check compiler log
Dropped due to compile error
anonymous block completed
推荐阅读
- python - 我正在尝试创建并调用一个函数来反转字符串并删除小数点前的整数
- azure-functions - CefSharp.OffScreen.NETCore 与 Azure 功能
- c# - Serverless API Gateway/Lambda 下载 PDF 失败
- java - 使用 Http 请求调用多个 url
- python - 发布 PyPI python 包时,何时编译 PyQt5 资源和 ui 文件?
- authentication - 大多数静态网页的浏览器缓存
- c# - Sitronix st7565p 控制器的 LCD 到图像转换
- javascript - Google Script - 有条件地将行从工作表附加到工作表
- python-3.x - 通过数据框的循环创建子图
- r - 如何以前两列形成从另一列获取值的新列的名称的方式重塑数据框?