1

我正在尝试在 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 不存在?

有任何想法吗?

4

1 回答 1

0

如果使用 psql 执行脚本,请尝试除以零错误以在未找到任何行时有条件地中止脚本:

\设置 ON_ERROR_STOP ON

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

于 2018-01-03T19:22:20.923 回答