发出程序信号并将控制权交还给 HANA 中的程序

Signal a procedure and give the control back to procedure in HANA

我正在从我的 xsjs 文件中调用一个过程,如下所示

  try{
    var query = oConn.loadProcedure("hello","helloWorld.db::sampleException");

    query();
    $.response.setBody('OK');
    $.response.status = $.net.http.OK;
}

    catch(e){
        var code= getStatusCode(e.message);
        if(code&& code === 301){
            $.response.setBody('unique Constraint Voilated');
        }
        if(code && code ===258)
        {
            $.response.setBody('You dont have the Permission to run the command'+code);
            }
        if(code && code ===10001)
            {
            $.response.setBody('Boss you got the error');
            }
        if(code && code ===10002)
        {
        $.response.setBody('Boss you got the error2');
        }

程序如下:

    PROCEDURE "hello"."helloWorld.db::sampleException" ()
     AS
BEGIN

DECLARE ExceptionExample CONDITION FOR SQL_ERROR_CODE 10001;
DECLARE ExceptionExample1 CONDITION FOR SQL_ERROR_CODE 10002;


select * from "hello"."REGION";
SIGNAL ExceptionExample SET MESSAGE_TEXT='TAN TAN TANANANANAN';


--SIGNAL 
select * from "hello"."REGION";
SIGNAL ExceptionExample1 SET MESSAGE_TEXT='TANY TAN TANANANANAN';

END;

我想在调用 XSJS 时发出两个异常信号。有什么办法吗?

输出(应该是): 老大你弄错了。 老大你报错2.

任何帮助都是有益的。

谢谢。

不,那不可能。 SAP HANA 过程允许发出一个异常信号。 发生的异常 'deeper down the stack' 未堆叠并有效隐藏。