编写一个PL/SQL程序块: 按工资分段(大于2500、(1400,2500)、1400元以下) 统计各工资段的职工人数
时间: 2024-02-24 10:59:48 浏览: 68
好的,以下是一个简单的 PL/SQL 程序块,用于按工资分段统计各工资段的职工人数:
```
DECLARE
v_count_1 NUMBER(6) := 0; -- 大于2500的人数
v_count_2 NUMBER(6) := 0; -- (1400,2500)之间的人数
v_count_3 NUMBER(6) := 0; -- 1400元以下的人数
BEGIN
FOR emp IN (SELECT salary FROM employees)
LOOP
IF emp.salary > 2500 THEN
v_count_1 := v_count_1 + 1;
ELSIF emp.salary > 1400 AND emp.salary <= 2500 THEN
v_count_2 := v_count_2 + 1;
ELSE
v_count_3 := v_count_3 + 1;
END IF;
END LOOP;
DBMS_OUTPUT.PUT_LINE('>2500: ' || v_count_1);
DBMS_OUTPUT.PUT_LINE('(1400,2500): ' || v_count_2);
DBMS_OUTPUT.PUT_LINE('<=1400: ' || v_count_3);
END;
```
在这个程序块中,我们首先声明了三个变量,分别用于存储大于2500、(1400,2500)、1400元以下的人数。接着,我们使用一个 FOR 循环遍历员工表中的每个员工信息,通过 IF-ELSIF 结构将员工的工资分为不同的段,并将对应的计数器加 1。最后,我们使用 DBMS_OUTPUT.PUT_LINE 函数将各个工资段的人数输出到控制台中。
请注意,这个程序块只是一个简单的例子,仅用于演示如何按工资分段统计职工人数。在实际开发中,您需要根据具体的需求对程序进行修改和优化。
阅读全文