Teradata 引发错误

Teradata Raise Error

我正在 teradata v16 中制作一个存储过程,需要我提出错误。我可以看到如何使代码捕获错误(见下文)但无法弄清楚如何像其他应用程序那样引发错误。有人可以告诉我如何引发错误吗?

    BEGIN
  DECLARE SQL_ERR_CDE INTEGER;
  DECLARE SQL_STATE INTEGER;
  DECLARE TMPMSG VARCHAR(133);

L1: BEGIN
      DECLARE EXIT HANDLER FOR SqlException
        BEGIN
          SET SQLERRCDE = SqlCode;
          SET SQLSTTE = SqlState;
          SET SQLMSG = TMPMSG;
          SET SQL_ERR_CDE = SqlCode;
          SET SQL_STATE = SqlState;
          INSERT INTO DW.ERR_STD_PRC_LOG
          VALUES ('DW', 'SP_INDEX_STATS' , 'E' , :SQL_ERR_CDE,:SQL_STATE, :TMPMSG, DATE, TIME);  
        END;

您尝试过 ABORT 吗?这应该会导致 SP 调用出错,无论您想要包含什么消息:

ABORT 'Error Message';

https://info.teradata.com/HTMLPubs/DB_TTU_16_00/index.html#page/SQL_Reference/B035-1146-160K/hch1472240804504.html

此外,请看一下如何使用 SIGNAL:Teradata: How can I raise an error in a stored procedures