如果第一个条件匹配,则PLSQL Procedure返回true

我在程序中有以下代码片段,想进行优化和审查以提高代码效率和标准。

该查询从第一个表中选择三个部门并分配给三个局部变量,然后打开for循环以检查部门是否匹配并关闭循环。 理想情况下,如果第一个条件为true,则我想停止处理,如果不是,则为第二个,如果不是第三个条件,则为我停止。

程式码片段


SELECT DISTINCT department1, department2, department3,
  INTO l_department1,
       l_department2,
       l_department3,
  FROM my_table;

        FOR cur_rec
                 IN (SELECT dept
                       FROM (SELECT DISTINCT
                                    dept FROM mytables) // actual code is quite complex query
              LOOP
     IF (   cur_rec.dept = l_department1
                 OR cur_rec.dept = l_department2
                 OR cur_rec.dept = l_department3)
             THEN
                o_return_code := 0;
             ELSE
                o_return_code := 1;
             END IF;
          END LOOP;

评论