在Oracle中引发应用程序错误

在Oracle中引发应用程序错误,oracle,exception,plsql,Oracle,Exception,Plsql,我在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, @MissingDat

我在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_应用程序_错误,但不知道如何动态传递值。

如下-串联:

raise_application_error(-20001, 'Values missing: ' || l_value1 ||', '|| l_value2);
您可以使用的错误号介于-20000和-20999之间。第二个参数是消息——或者只是一些文本,或者变量值,或者——正如我所说——文本与一些其他值连接在一起

在你的情况下,问题可能是

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

像这样-串联:

raise_application_error(-20001, 'Values missing: ' || l_value1 ||', '|| l_value2);
您可以使用的错误号介于-20000和-20999之间。第二个参数是消息——或者只是一些文本,或者变量值,或者——正如我所说——文本与一些其他值连接在一起

在你的情况下,问题可能是

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