【发布时间】:2018-05-06 22:55:41
【问题描述】:
尝试根据薪水按类别对每个员工进行分类。调用函数时没有输出。
数据: A 类:
B 类:> 10,000 和
C 级:> 20,000
CREATE OR REPLACE PROCEDURE DisplaySalary2(p_EmployeeID
IN CHAR) IS
v_Salary NUMBER(10,2);
BEGIN
SELECT Salary INTO v_Salary FROM Employee
WHERE EmployeeID = '88777';
IF v_Salary <= 10000 THEN
DBMS_OUTPUT.PUT_LINE ('Class A');
ELSIF v_Salary > 10000 AND v_Salary <= 20000 THEN
DBMS_OUTPUT.PUT_LINE ('Class B');
ELSE
DBMS_OUTPUT.PUT_LINE ('Class C');
END IF;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE ('Employee not found.');
END;
/
/*Calling DisplaySalary 2 */
DECLARE
v_SalaryOutput CHAR (10);
BEGIN
DisplaySalary2(v_SalaryOutput);
DBMS_OUTPUT.PUT_LINE(v_SalaryOutput);
END;
/
【问题讨论】:
-
在执行你的 PL/SQL 块之前使用
SET SERVEROUTPUT ON;来调用你的过程。