我们可以使用非null关键字的逻辑条件

时间:2016-10-12 21:59:31

标签: sql oracle plsql

我正在开发一个使用oracle进行自学习的工资管理系统。 以下是存储过程的代码片段,用于更新和插入employee表的数据,其中p_department_id_1和p_department_id_2是IN类型过程的两个参数。

我在第二行遇到了如下所示的错误,我不知道我是否可以使用OR而不是IS NOT NULL。 请告诉我在这里犯的实际错误是什么。

      v_status                                     :=0;
      IF p_department_id_1 OR p_department_id_2 IS NOT NULL THEN
        p_department_id_1                          :=NVL(p_department_id_1,p_department_id_2);
        p_department_id_2                          :=NVL(p_department_id_2,p_department_id_1);
        IF p_department_id_1 AND p_department_id_2 IS NOT NULL THEN
          SELECT COUNT(*)
          INTO v_department_count
          FROM department
          WHERE department_id  =p_department_id_1
          AND department_id    =p_department_id_2;
          IF v_department_count>0 THEN
            v_status          :=1;
          END IF;
        END IF;
      ELSE
        v_status:=1;
      END IF;

1 个答案:

答案 0 :(得分:0)

如果p_department_id_1不是NULL并且p_department_id_2不是NULL那么