一个后台验证的功能,存储过程参数为用户名和密码,返回该记录的三个值
我是这样写的,但是出错了,我不知道是哪里不对
高手帮我看看吧,谢谢啦!
另外我还想问一下,存储过程查询记录集该怎么写呢,求实际的例子参考一下。
create or replace procedure PRO_T_AdminTable_Login
(
loginname in t_Admintable.At_Username%type,
loginpwd in t_Admintable.At_Password%type,
id out number,
name out varchar,
level out varchar
)
is
begin
select AT_ID,AT_Name,AT_Level into id,name,level form T_AdminTable where T_UserName=loginname and T_PassWord=loginpwd;
end PRO_T_AdminTable_Login;
我是这样写的,但是出错了,我不知道是哪里不对
高手帮我看看吧,谢谢啦!
另外我还想问一下,存储过程查询记录集该怎么写呢,求实际的例子参考一下。
create or replace procedure PRO_T_AdminTable_Login
(
loginname in t_Admintable.At_Username%type,
loginpwd in t_Admintable.At_Password%type,
id out number,
name out varchar,
level out varchar
)
is
begin
select AT_ID,AT_Name,AT_Level into id,name,level form T_AdminTable where T_UserName=loginname and T_PassWord=loginpwd;
end PRO_T_AdminTable_Login;
exception when no_data_found then
raise_application_error(-20000,'该用户不存在');
(
loginname in t_Admintable.At_Username%type,
loginpwd in t_Admintable.At_Password%type,
id out number,
name out varchar,
level out varchar
)
is
begin
select AT_ID,AT_Name,AT_Level into id,name,level form T_AdminTable where T_UserName=loginname and T_PassWord=loginpwd;
end PRO_T_AdminTable_Login;
--方法1,使用预定义SYS_REFCURSOR
CREATE OR REPLACE PROCEDURE p_set1(o OUT SYS_REFCURSOR) IS
BEGIN
OPEN o FOR
SELECT * FROM emp;
END p_set1;
/--方法2:使用自定义游标类型
CREATE OR REPLACE PACKAGE pk_type IS
TYPE curtype IS REF CURSOR;
END;
/
CREATE OR REPLACE PROCEDURE p_set2(o OUT pk_type.curtype) IS
BEGIN
OPEN o FOR SELECT * FROM emp;
END p_set2;
/