然后,Oracle IF存在

时间:2019-09-24 20:19:41

标签: oracle

我有以下SQL,并给我表达错误。

我想检查记录是否存在,如果存在,那么我想执行一个sql并获取列值,如果不存在,我想执行另一个sql并获取列值。

我该怎么做甲骨文?

DECLARE 
  VALIDEXISTS NUMBER;
BEGIN
  SELECT * 
    FROM table1 
   WHERE column1 IN ('Yes')
     AND columns2 IN (
                       SELECT COUNT(column1) AS VALIDEXISTS 
                         FROM table1 
                        WHERE column1 IN ('Yes') 
                          AND column2 NOT LIKE '%Yes%'
                           IF VALIDEXISTS = 0 THEN
                             SELECT column2 
                               FROM table1 
                              WHERE column1 IN ('Yes') 
                                AND column2 NOT LIKE '%Yes%'


                           ELSE 
                             SELECT column2 
                               FROM table1 
                               WHERE column1 IN ('Yes') 
                                 AND column2 NOT LIKE '%No%'    END IF; )
END

1 个答案:

答案 0 :(得分:2)

首先计算条件,然后使用git restore -s@ -SW hello.c 将其应用于最终的SELECT。像这样:

CASE