oracle - 我如何在oracle sql中的if语句中比较变量与多变量
问题描述
IF v_salary + p_value <
ALL (v_max_salary, v_manager_salary, v_dept_salary)
THEN
UPDATE employees
SET salary = salary + p_value
WHERE employee_id = p_emp_id;
END IF;
解决方案
您不必分别将其与这些值中的每一个进行比较 - 如果它们中的至少一个是正确的,那么其余的也是如此。所以:
IF v_salary + p_value < least(v_max_salary, v_manager_salary, v_dept_salary)
THEN
UPDATE employees
SET salary = salary + p_value
WHERE employee_id = p_emp_id;
END IF;
推荐阅读
- android - Telephony.TextBasedSmsColumns 中的 Android 交付信息
- java - 使用 PDFBox 时 Mac Preview 和 Adobe Acrobat 上的不同 PDCheckBox 外观
- sql - 当关联的查询元素不返回值时,设置表单字段的默认值
- javascript - 让 antd 的 Sider 响应式
- xml - Spark Scala - 将数据框中的 XML 列转换为多列
- angular - 使用 templateUrl (Angular 7) 中的条件在移动或桌面模板之间切换
- java - 通过 EC2 标签解析特定值
- php - SSL 上的 fsockopen 在特定主机上不起作用
- r - R中逐渐重叠线图的方法
- qt - 菜单栏未显示在第二个窗口上