Redshift - 没有找到行时发生错误?

时间:2017-05-29 17:59:23

标签: amazon-redshift raiserror

我正在尝试在redshift中实现以下功能 - >检查查询是否返回任何记录,如果是,则运行另一个查询并撤回结果,如果没有引发错误并使主查询失败。这是它在sql server中的工作方式:

 IF exists (SELECT * from [TABLE] where COLUMN1 = 'ABC')
    SELECT [COLUMN2] from [TABLE] where COLUMN1 = 'ABC'
       ELSE  RAISERROR ('Error',16, 1);

我使用redshfit CASE函数失败了,似乎raiserror不存在?

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果使用psql执行脚本,请尝试除零错误,如果没有找到行,则有条件地中止脚本:

\设置ON_ERROR_STOP ON

从[TABLE]中选择1 / count(*),其中column1 ='ABC' .... ....