编写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中运行不了,但也不报错。
展开
 我来答
badkano
2017-03-28 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144775 获赞数:885375
团长

向TA提问 私信TA
展开全部
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(即表中不存在的工号),显示如下:

还有,你写的这个不是程序块,就是一个函数,而且写法还不对。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式