oracle存储过程怎么判断一条sql语句是否成功

如题所述

oracle存储过程判断一条sql语句是否成功的方法是增加exception处理,如果没有抛出exception,那就证明正常执行了。

在Oracle中,异常分为以下两类:

Oracle预定义异常

用户自定义异常

在Oracle中预定义的异常如下表所示:

在Oracle中有以下三种方式触发异常:

    由Oracle自动触发异常

    使用RAISE语句手工触发

    调用存储过程RAISE_APPLICATION_ERROR手工触发

代码将演示Oracle自动触发异常:

-- Created on 2015-7-14 by JellyThink
declare
   iA NUMBER(2) := 10;
begin
   iA := iA / 0; -- Oracle自动触发异常
   dbms_output.put_line(iA);
exception
   when ZERO_DIVIDE then
       dbms_output.put_line('Error Code:' || SQLCODE || ' ' || SQLERRM);
   when others then
       dbms_output.put_line('Others Exception');
end;

温馨提示:内容为网友见解,仅供参考
无其他回答

oracle存储过程怎么判断一条sql语句是否成功
oracle存储过程判断一条sql语句是否成功的方法是增加exception处理,如果没有抛出exception,那就证明正常执行了。在Oracle中,异常分为以下两类:Oracle预定义异常 用户自定义异常 在Oracle中预定义的异常如下表所示:在Oracle中有以下三种方式触发异常:由Oracle自动触发异常 使用RAISE语句手工触发 调用存储过程R...

...sqlserver 存储过程 怎样判断一条sql语句执行成功了没有
如果前一个 Transact-SQL 语句执行没有错误,则返回 0。如果前一个语句遇到错误,则返回错误号。如果错误是 sys.messages 目录视图中的错误之一,则 @@ERROR 将包含 sys.messages.message_id 列中表示该错误的值。可以在 sys.messages 中查看与 @@ERROR 错误号相关的文本信息。由于 @@ERROR 在每一...

怎么知道 oracle存储过程是否执行完
---比如SQL Navigator 在执行存储过程后,运行按钮恢复可点状态,这就代表存储过程通过并成功执行;您可以调用查询您执行的存储过程中的语句看看值都正常否。---比如PL\/SQL 这个执行后软件会提示 " procedure successfully completed"这样就代表执行成功;...

如何在存储过程中判断sql语句执行是否成功
系统变量@@ERROR可以查看,如果@@ERROR=0表示成功,大于0表示有错

oracle存储过程提示编译完成但存在错误,如何查看错误
1、首先打开PL\/SQL Developer软件,新建sql窗口。2、打开修改oracle存储过程,该存储过程有一个输入参数(pid)跟一个输出参数(name),即通过用户id查询用户名称并将名称返回。3、调试存储过程,找到刚刚修改的存储过程右击并点击【test】选项。4、在打开的窗口内修改id值并点击左上角的倒三角形图标开始...

oracle 存储过程错误怎么查看
可用第三方工具检查错误。如以下存储过程:其中第六行故意少写了一个分号。然后执行后,会提示完成,这时可以去左边的树中找到这个存储过程,显示是有个红叉的。这时,可以右键,选择编辑。然后打开页面的最下方会显示如下信息。此时鼠标双击信息的那一行,会在上方存储过程中以特殊颜色显示,这就说明,有...

oracle存储过程中如何判断一个字段为空
1. 使用IS NULL关键字:IS NULL是Oracle中专门用于检查字段值是否为空的关键字。在存储过程中,可以通过WHERE子句结合IS NULL来筛选空值。例如,假设有一个名为“table_name”的表,其中有一个字段名为“column_name”,若要查询该字段的值为空的所有记录,可以使用以下SQL语句:...

oracle存储过程中如何判断一个字段为空
在Oracle存储过程中,如果你想判断一个字段是否为空,你可以使用IS NULL关键字,这是一种直接且直观的方法。另外,NVL函数也是一个可选的选项,它能提供更灵活的处理。NVL函数的作用是在字段为空时返回指定的默认值。例如,以下SQL查询展示了如何使用NVL函数来处理这种情况:在SQL查询中,你可以这样写:S...

ORACLE SQL 判断数据
select distinct name,case when exists ( select 1 from 表名 f where f.name = a.name and f.class = '2' ) then 'Y' else 'N' end "Y\/N"from 表名 a

Oracle执行怎么抛出无效SQL语句
这么简单的存储过程,正常流程就两句话,INSERT INTO和COMMIT,COMMIT不可能出错,能编译通过的话,显然是INSERT INTO语句错了。你确认一下表 PS1_sys里面就只有6个字段,而且每个字段的类型和你的参数类型一致么?如果确认没有错的话,传入的参数的值,是不是跟表PS1_sys里面现有的唯一键值重复了?补充...

相似回答