我努力做到以下幾點使用光標按僱員姓氏在輸出名稱的功能使用光標改變
改變創建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;
我不知道如果我正確使用光標對於這個問題