[多选题]

我写的oracle中的一个存储过程,请高手帮忙看看问题出在哪。

题目是这样的:

创建一个存储过程,存储过程名为p_login,用于操作用户登录的校验,登录需要使用EMPNO和EMPPASS,并需要提示登录中的错误,如是EMPNO不存在,还是EMPNO存在EMPPASS错误,还是其他错误等。

要求:

1)不同的输出状态用不同的输出编号标识(out_code)如EMPNO存在且密码正确out_code=0,EMPNO不存在此类错误的out_code=1,用户名存在密码错误out_code=2,其他错误out_code=3

    2)不同的输出状态对应不同的输出描述或提示,输出描述用out_desc标识

3)存储过程运行结束要把输出状态对应的输出标识(out_code)和输出描述(out_desc)输出。

以下是我写的脚本:

create or replace procedure p_login ( NO IN number, PASS IN nvarchar2, out_code OUT  number, out_desc OUT nvarchar2)

is

count1 number(10);

vcount number(10);

other EXCEPTION;

begin

select ID into count1 from EMP where EMPNO= NO;

select ID into vcount from EMP where EMPPASS= PASS and EMP.ID = count1;

if (count1 is not null and vcount is not null) then 

         out_code:=0;

         out_desc:= '登录成功';

elsif (count1 is Null and vcount is Null) then 

         out_code:=1;

         out_desc:= 'EMPNO不存在';

elsif (count1 is not Null and vcount is Null) then 

         out_code:=2;

         out_desc:= '密码错误';

else out_code:=3;

     out_desc:= '其他错误';

end if;

dbms_output.put_line(out_code||out_desc);

end p_login;

运行的时候会有错。主要原因是:在oracle中,只要某个参数为空的话 那么系统就报错了。。。这种情况应该怎么处理呢?貌似用IS NULL没用啊?

参考答案与解析:

相关试题

请高手帮忙翻译

[主观题]请高手帮忙翻译Thisstoryiswrittenfromanoutsider'spointofview.RecountthestoryfromPiglet'spointofviewtodescribethewayhefeelsafterthehunt.

  • 查看答案
  • 请指出在该项目的招投标过程中存在哪些问题,并说明原因。

    [试题]请指出在该项目的招投标过程中存在哪些问题,并说明原因。

  • 查看答案
  • 高手请看看小弟这个电脑配置有什么问题

    [试题]高手请看看小弟这个电脑配置有什么问题最近小弟想买个电脑,但是又不怎么懂,顺便看看需要多少钱???主板:技嘉770T-UD3PCPU:AMD 速龙II X2 250显卡:蓝宝石HD5670至尊版、硬盘:希捷st3 500 413as内存:2gb金士顿DDR2 800MHz电源:金河田ATX-S500高手请看看这个配置咋样。需要多少钱,其他的硬件无所谓(例键盘鼠标,显示器,光驱,机箱),

  • 查看答案
  • 写一个用jdbc 连接并访问oracle数据的程序代码

    [主观题]写一个用jdbc 连接并访问oracle数据的程序代码

  • 查看答案
  • 请写一个函数重载的简单例子

    [主观题]请写一个函数重载的简单例子

  • 查看答案
  • ORACLE中如何为存储过程传递参数?

    一个 传递参数的例子SQL> CREATE OR REPLACE PROCEDURE HelloWorld2 (2 p_user_name IN VARCHAR2,3 p_out_val OUT VARCHAR2,4 p_inout_val IN OUT VARCHAR25 ) AS6 BEGIN7 dbms_output.put_line('Hello ' || p_user_name || p_inout_val || '!');8 p_out_val := 'A';9 p_inou

  • 查看答案
  • 请专家帮忙做一个工作汇报的PPT讲稿

    [主观题]请专家帮忙做一个工作汇报的PPT讲稿我这个星期需要为领导做一个PPT讲稿(用于向市领导汇报),PPT的模版需要体现政府部门工作报告的特点,请告诉我如何快速完成这个任务,或者制作一份模版给我,谢谢!

  • 查看答案
  • 一个Oracle Server包含一个Oracle Instance和一个Ora

    [主观题]一个Oracle Server包含一个Oracle Instance和一个Oracle Database。()

  • 查看答案
  • (14)一个 Oracle 服务器由一个 Oracle 数据库和 Oracle

    [试题](14)一个 Oracle 服务器由一个 Oracle 数据库和 Oracle (14) 组成。

  • 查看答案
  • 活动设计题:请以“我爱家乡”为内容写一个300字左右的教

    [案例分析题] 活动设计题:请以“我爱家乡”为内容写一个300字左右的教学活动设计。

  • 查看答案