【发布时间】:2017-10-04 08:04:11
【问题描述】:
DECLARE
EMPLEADO EMPLOYEES.EMPLOYEE_ID%TYPE;
SALARIO EMPLOYEES.SALARY%TYPE;
BEGIN
select employee_id , salary INTO EMPLEADO , SALARIO
FROM EMPLOYEES
WHERE EMPLOYEE_ID > = '100' AND EMPLOYEE_ID < = '120';
IF SALARIO > 100000 THEN
DBMS_OUTPUT.PUT_LINE('El salario actual del empleado '||empleado||' es de '||salario||'.'|| 'Es un excelente salario');
elsif SALARIO > 9000 AND SALARIO < 100000 THEN
DBMS_OUTPUT.PUT_LINE('El salario actual del empleado '||empleado||' es de '||salario||'.'|| 'Es un salario normal');
ELSIF SALARIO < 9000 THEN
DBMS_OUTPUT.PUT_LINE('El salario actual del empleado '||empleado||' es de '||salario||'.'|| 'Es un salario normal');
end if;
end;
【问题讨论】:
-
什么令人困惑?您的查询返回多行,并且通过将值放入变量中,您假设只有一行。
-
怎样才是正确的做法?
-
你想做什么?获取所有员工的名单?您不需要变量或 INTO,只需要 SELECT 的结果。
-
员工的工资是优秀的、正常的还是需要加薪的,根据你的工资来划分