我想知道我的答案是否正确,请帮助我,并在此先感谢
a) 创建一个函数 'Display_Employee_Name_In_Uppercase',它接受来自 'Empoyees' 表的 'Employee_ID' 并以大写形式返回雇员的名字和姓氏。
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) 编写一个小型 PL/SQL 程序来显示 Employee_ID 为 107、200 和 205 的员工的姓名。
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;