Amazon redshift 其中sqlerrm变量错误消息存储在红移中

Amazon redshift 其中sqlerrm变量错误消息存储在红移中,amazon-redshift,Amazon Redshift,我试图使用exception block和内置变量redshift将存储过程的错误日志存储在自定义错误表中 DECLARE name emp.ename%TYPE; v_code NUMBER; v_errm VARCHAR2(64); BEGIN SELECT ename INTO name FROM emp WHERE empno = 1000; EXCEPTION WHEN OTHERS THEN v_code :=

我试图使用exception block和内置变量redshift将存储过程的错误日志存储在自定义错误表中

 DECLARE
     name emp.ename%TYPE;
     v_code NUMBER;
     v_errm VARCHAR2(64);
     BEGIN
    SELECT ename INTO name FROM emp WHERE empno = 1000;
    EXCEPTION
    WHEN OTHERS THEN
    v_code := SQLCODE;
    v_errm := SUBSTR(sqlerrm, 1 , 64);
    INSERT INTO emp_exceptions
      (err_code,err_msg
      ) VALUES
      (v_code,v_errm
      );
      COMMIT;
      END;`

红移中的异常处理无法完成很多工作。医生:说吧

唯一支持的条件是[
异常当
]
其他
,它匹配除查询取消之外的所有错误类型

[…]唯一受支持的handler_语句是
RAISE

我对它的理解,以及大量失败的实验,是您雄心勃勃的Oracle样式的异常处理块不能用红移来编写