create or replace procedure Frm_GetUserLogin(userAccount varchar2,returnValue out number)
as
temp number;
begin
returnValue:=0;--初始值,表示用户没有通过验证
select count(1) into temp from frm_users where frm_users.useraccount = userAccount;
dbms_output.put_line(temp);
end;
frm_users表里只有一行数据。
var temptest number;
execute Frm_GetUserLogin('dsfsdfsdfsd',:temptest);
打印的temp还是为1,但是'dsfsdfsdfsd'在表里并不存在。也就说where后的语句没有用。如果把语句select count(1) into temp from frm_users where frm_users.useraccount = userAccount;改成select count(1) into temp from frm_users where frm_users.useraccount = 'dsfsdfsdfsd';则tempid=0。
如果把select count(1) into temp from frm_users where frm_users.useraccount = userAccount;改成select count(1) into temp from frm_users;则temp输出为1。
as
temp number;
begin
returnValue:=0;--初始值,表示用户没有通过验证
select count(1) into temp from frm_users where frm_users.useraccount = userAccount;
dbms_output.put_line(temp);
end;
frm_users表里只有一行数据。
var temptest number;
execute Frm_GetUserLogin('dsfsdfsdfsd',:temptest);
打印的temp还是为1,但是'dsfsdfsdfsd'在表里并不存在。也就说where后的语句没有用。如果把语句select count(1) into temp from frm_users where frm_users.useraccount = userAccount;改成select count(1) into temp from frm_users where frm_users.useraccount = 'dsfsdfsdfsd';则tempid=0。
如果把select count(1) into temp from frm_users where frm_users.useraccount = userAccount;改成select count(1) into temp from frm_users;则temp输出为1。
解决方案 »
- Oracle 中文排序问题
- 如何动态调用exp命令?将导出文件名命名为当前时间。
- oracle case用法疑问
- 那位知道用sql语句如何取到下月1号这个日期
- 关于where 后使用case
- 请教一下大家周的算法,比如从上周五到本周四算一周,那算一年有多少周的话,我是算53周还是52周呢?谢谢!不胜感激!
- 寻找Oracle Spatial的学习资料,重分酬谢
- 关于exp的一个问题
- 数据库恢复问题!(只剩了文件,没有备份!着急!!!谢谢!!!)(先来50分,不够加!!)
- sysdba的默认密码是什么?系统中最高的权限是什么?为什么我是SYSTEM却无法创建aurora$jis$utility用户
- 请教SQL语句
- PROCEDURE 编译不过,请教
这样不太好啊,你改成这样试试
useraccount = userAcc
把传入的参数改下名字 别跟字段一样 v_user
create or replace procedure Frm_GetUserLogin(v_user varchar2,returnValue out number)
as
temp number;
begin
returnValue:=0;--初始值,表示用户没有通过验证
select count(1) into temp from frm_users where frm_users.useraccount =v_user ;
dbms_output.put_line(temp);
end;