我正在尝试在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不存在?
有什么想法吗?
答案 0 :(得分:0)
如果使用psql执行脚本,请尝试除零错误,如果没有找到行,则有条件地中止脚本:
\设置ON_ERROR_STOP ON
从[TABLE]中选择1 / count(*),其中column1 ='ABC' .... ....