Oracle 中的 RAISE_APPLICATION_ERROR

Posted

技术标签:

【中文标题】Oracle 中的 RAISE_APPLICATION_ERROR【英文标题】:RAISE_APPLICATION_ERROR In Oracle 【发布时间】:2019-03-01 11:57:23 【问题描述】:

我在 SQL Server 中使用 RAISERROR 引发错误,如下所示:

    RAISERROR (N'The following required values are either missing or not valid from the dbo.tblTemplates_Load_OtherObjects_Raw table:%s',
           16, -- Severity,
           1, -- State,
           @MissingData)

@MissingData 是在运行时创建的 NVarchar 变量。

如何在 Oracle 中实现相同的功能?

我知道Oracle中有一个RAISE_APPLICATION_ERROR,但不知道如何动态传递值。

【问题讨论】:

【参考方案1】:

像这样 - 连接:

raise_application_error(-20001, 'Values missing: ' || l_value1 ||', '|| l_value2);

您可以使用的错误编号介于 -20000 和 -20999 之间。第二个参数是消息 - 或者只是一些文本,或者变量值,或者 - 正如我所说的 - 文本与一些其他值连接。

在你的情况下,可能是

raise_application_error(-20001, 'Values missing: ' || missingData);

【讨论】:

以上是关于Oracle 中的 RAISE_APPLICATION_ERROR的主要内容,如果未能解决你的问题,请参考以下文章

oracle中的if || oracle中的loop循环怎么写? || while循环怎么写?

oracle dataguard中的密码文件怎么创建

Oracle中的锁

Oracle中的instr()函数和substr函数

Oracle:如何总结 Oracle 中的别名列

oracle中如何获得日期中的年份?