声明过程后的空白输出



我试图确定为什么 eID 在输出过程中不返回任何内容。程序和声明如下。

具体问题是"dbms_output.put_line('员工信息#'||电子身份证(;

我希望它返回输入的 eID。所以在下面的示例中,我输入了"1",所以我希望输出也显示"1"。

CREATE OR REPLACE PROCEDURE get_empDetails(
eID IN EMPLOYEES.employeeID%type,
fName OUT EMPLOYEES.firstName%type,
lName OUT EMPLOYEES.lastName%type,
dNAME OUT DEPARTMENTS.departmentNAME%type)
AS 
BEGIN
SELECT firstName, lastName, departmentNAME 
INTO fName, lName, dNAME
FROM EMPLOYEES e
JOIN DEPARTMENTS d
ON e.departmentID = d.departmentID 
WHERE e.employeeID = eID;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('Invalid employee ID');
END;
----
declare
eID number(20);
fname varchar(20); 
lname varchar(20);
deptName varchar(20);
begin
get_empDetails(1, fname,lname,deptName);
dbms_output.put_line('Information for employee #'|| eID);
dbms_output.put_line('Employee Full name : '||fname ||' '|| lname);
dbms_output.put_line('Department Name : '||deptName);
end;
---
Result: 
Statement processed.
Information for employee #
Employee Full name : Alice Smith
Department Name : Human Resources

您需要传入 eiD 作为参数。 您知道传递文本值 1。 在这种情况下,开斋节为空。

declare
eID number(20);
fname varchar(20); 
lname varchar(20);
deptName varchar(20);
begin
get_empDetails(eID, fname,lname,deptName);

最新更新