编写PL/SQL程序块,给定一个员工号就可以显示其姓名,工资等信息,若该员工不存在则显示对不起,没有此员工!
CREATEORREPLACEFUNCTIONShowInfo(EMP_NOVARCHAR2(20))RETURNVARCHAR2ISEMP_INFOVARCHAR2(1...
CREATE OR REPLACE FUNCTION ShowInfo(EMP_NO VARCHAR2(20)) RETURN VARCHAR2 IS EMP_INFO VARCHAR2(100);
BEGIN
SELECT ENAME,SAL INTO EMP_INFO FROM EMP WHERE EMP.EMPNO = EMP_NO;
RETURN EMP_INFO;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('对不起,没有此员工!');
END ShowInfo;
请问这个函数错在哪里,在oracle中运行不了,但也不报错。 展开
BEGIN
SELECT ENAME,SAL INTO EMP_INFO FROM EMP WHERE EMP.EMPNO = EMP_NO;
RETURN EMP_INFO;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('对不起,没有此员工!');
END ShowInfo;
请问这个函数错在哪里,在oracle中运行不了,但也不报错。 展开
1个回答
展开全部
declare
v_sal number(10, 2);
v_ename varchar2(20);
begin
select ename, sal into v_ename, v_sal from emp where empno = &请输入工号;
dbms_output.put_line('姓名:' || v_ename || ' 工资:' || v_sal);
exception
when no_data_found then
dbms_output.put_line('对不起,没有此员工!');
end;
执行时,会提示你输入工号。输入7369,显示如下
输入1234(即表中不存在的工号),显示如下:
还有,你写的这个不是程序块,就是一个函数,而且写法还不对。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询