THROW_ERROR

返回用户定义的错误消息。

在多节点群集中,很少会导致错误消息的顺序不同。

行为类型

不可变

语法

THROW_ERROR ( message )

参数

message
要返回的 VARCHAR 字符串。

示例

遇到 CASE 语句时,返回错误消息:

=> CREATE TABLE pitcher_err (some_text varchar);
CREATE TABLE
=> COPY pitcher_err FROM STDIN;
Enter data to be copied followed by a newline.
End with a backslash and a period on a line by itself.
>> big foo value
>> bigger foo other value
>> bar another foo value
>> \.
=> SELECT (CASE WHEN true THEN THROW_ERROR('Failure!!!') ELSE some_text END) FROM pitcher_err;
ERROR 7137:  USER GENERATED ERROR: Failure!!!

遇到使用 REGEXP_LIKE 的 CASE 语句时,返回错误消息:


=> SELECT (CASE WHEN REGEXP_LIKE(some_text, 'other') THEN THROW_ERROR('Failure at "' || some_text || '"') END) FROM pitcher_err;
ERROR 4566:  USER GENERATED ERROR: Failure at "bar another foo value"