私の答えが正しいかどうか知りたいのですが、助けてください。事前に感謝します
a) 「Empoyees」テーブルから「Employee_ID」を受け取り、従業員の姓名を大文字で返す関数「Display_Employee_Name_In_Uppercase」を作成します。
CREATE OR REPLACE FUNCTION DISPLAY_EMPLOYEE_NAME
(EMP_ID IN NUMBER) RETURN VARCHAR2
IS
EMPNAME VARCHAR(25);
BEGIN
SELECT FNAME ||' '|| LNAME INTO EMP_NAME FROM EMPLOYEES
WHERE EMPLOYEE_ID = EMP_ID;
RETURN UPPER(EMPNAME);
EXCEPTION
WHEN OTHERS THEN NULL;
END DISPLAY_EMPLOYEE_NAME;
b) Employee_ID が 107、200、205 の従業員の名前を表示する小さな PL/SQL プログラムを作成します。
SET SERVEROUTPUT ON;
DECLARE
EMP_ID VARCHAR2(25);
entEMPNAME VARCHAR2(25);
BEGIN
EMP_ID :=107,200,205;
EMPNAME :=DISPLAY_EMPLOYEE_NAME(EMP_ID);
DBMS_OUTPUT.PUT_LINE('EMPLOYEE NAME: '||EMPNAME);
END;
最初の答えが正しくないので、このコードを実行しましたが、うまくいきましたが、長すぎます。短くできますか?
申し訳ありませんが、新しいページに投稿しませんでした。回答を投稿する方法がわかりません。
SET SERVEROUTPUT ON;
DECLARE
EMP_ID VARCHAR2(25);
EMP_ID2 VARCHAR2(25);
EMP_ID3 VARCHAR2(25);
EMPNAME VARCHAR2(25);
EMPNAME2 VARCHAR2(25);
EMPNAME3 VARCHAR2(25);
BEGIN
EMP_ID :='107';
EMP_ID2 :='200';
EMP_ID3 :='205';
EMPNAME :=DISPLAY_EMPLOYEE_NAME(EMP_ID);
EMPNAME2 :=DISPLAY_EMPLOYEE_NAME(EMP_ID2);
EMPNAME3 :=DISPLAY_EMPLOYEE_NAME(EMP_ID3);
DBMS_OUTPUT.PUT_LINE('EMPLOYEE NAME: '|| EMPNAME || ' ' || EMPNAME2 ||' ' || EMPNAME3);
END;