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。
这样不太好啊,你改成这样试试
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;