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;
答案 0 :(得分:1)
您可以使用光标处理:
SET SERVEROUTPUT ON
DECLARE
CURSOR CURSOR1 IS
SELECT EMPLOYEE_ID, SALARY
FROM EMPLOYEES
WHERE EMPLOYEE_ID >= '100' AND EMPLOYEE_ID <= '120';
EMPLEADO EMPLOYEES.EMPLOYEE_ID%TYPE;
SALARIO EMPLOYEES.SALARY%TYPE;
BEGIN
FOR REC IN CURSOR1 LOOP
EMPLEADO := REC.EMPLOYEE_ID;
SALARIO := REC.SALARY;
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;
EMPLEADO := NULL;
SALARIO := NULL;
END LOOP;
END;
正如尼古拉斯五世指出的那样,你表明工资&lt; 9000也很正常 - 这可能是一个错字。