Praca domowa na FUNKCJE PL / SQL [zamknięte]
Chciałbym wiedzieć, czy moje odpowiedzi są poprawne, proszę mi pomóc i z góry dziękuję
a) Utwórz funkcję „Display_Employee_Name_In_Uppercase”, która akceptuje „Employee_ID” z tabeli „Empoyees” i zwraca pierwsze i ostatnie nazwisko pracownika wielkimi literami.
<code>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; </code>
b) Napisz mały program PL / SQL, aby wyświetlić nazwy pracowników, których ID pracownika to 107, 200 i 205.
<code>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; </code>
ponieważ pierwsza odpowiedź nie jest poprawna, zrobiłem ten kod i działa, ale jest za długi, może być krótszy?
i przepraszam, że nie umieściłem go na nowej stronie. Nie wiem, jak opublikować odpowiedź.
<code>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; </code>