我努力做到以下几点使用光标按雇员姓氏在输出名称的功能使用光标改变
改变创建PLSQL功能,这在SQL语句将输出的姓氏使用时在雇员表中的所有员工按照以下逻辑:
- 如果该员工的姓名为王,函数应该输出为 狮子。
- 如果雇员的名字是福特,功能应该 输出为CAR
- 如果雇员的名字是MILLER,那么 功能应将其更改为啤酒。
否则,该名称应按雇员表中列出的名称输出。
到目前为止,我有这个:
set serveroutput on;
CREATE OR REPLACE FUNCTION changeName (lastname_in IN VARHCAR2)
RETURN c_emp_record
IS
declare
CURSOR c_emp_record IS
SELECT last_name FROM employees;
v_emp_record c_emp_record%ROWTYPE;
begin
OPEN c_emp_record;
DBMS_OUTPUT.PUT_LINE('LastName'||' ');
LOOP
FETCH c_emp_record into v_emp_record;
EXIT WHEN c_emp_record%NOTFOUND;
if c_emp_record IN ('%KING%') THEN
DBMS_OUTPUT.PUT_LINE(' LION');
elsif c_emp_record LIKE '%FORD%' THEN
DBMS_OUTPUT.PUT_LINE(' CAR');
ELSIF c_emp_record LIKE '%MILLER%' THEN
DBMS_OUTPUT.PUT_LINE('BEER');
ELSE
DBMS_OUTPUT.PUT_LINE(v_emp_record.last_name || 'No change');
END IF;
END LOOP;
end changeName;
我不知道如果我正确使用光标对于这个问题