您的位置:首页 > 数据库 > Oracle

java调用Oracle用户登录存储过程

2010-03-16 20:59 399 查看
PROCEDURE user_Login (
i_AuthID IN user_UserPass.UserID%TYPE, --用户代码
i_FunctionCode IN user_Function.FunctionCode%TYPE, --功能代码
i_Password IN user_UserPass.PASSWORD%TYPE, --密码
o_RetCode OUT INT,
o_RetMsg OUT VARCHAR2
)
/* 授权验证 */
IS
l_location VARCHAR2 (128);
l_Exist INTEGER;
l_Count INTEGER;
l_Counter INTEGER;
l_FunctionCode user_Function.FunctionCode%TYPE;
l_ParentFunctionCode user_Function.FunctionCode%TYPE;//父根限功能代码
l_Passed BOOLEAN;
l_Length INTEGER;
BEGIN
o_RetCode := 0;
o_RetMsg := '操作成功';
l_location := '验证用户登录';
up_SetClearLog ('user_Login',
'验证用户权限',
'INTO',
'admin',
''
);//操作日志

SELECT COUNT (*)
INTO l_Exist
FROM user_UserPass //用户表
WHERE UserID = i_AuthID AND PASSWORD = i_Password;

IF l_Exist <> 1
THEN
o_RetCode := 1;
o_RetMsg := '授权验证,用户名或密码无效失败';
up_SetClearLog ('user_Login',
'验证用户权限',
'ERROR',
'admin',
''
);//操作日志
RETURN;
END IF;

l_location := '验证用户权限';

SELECT COUNT (*)
INTO l_Count
FROM user_Function f
WHERE TYPE = 'admin'//查找该用户功能代码

IF l_Count = 0
THEN
o_RetCode := 12;
o_RetMsg := '权限代码有误';
up_SetClearLog ('user_Login',
'验证用户权限',
'ERROR',
'admin',
''
);//操作日志
RETURN;
END IF;

o_RetCode := 0;
o_RetMsg := '授权验证成功';
up_SetClearLog ('user_Login',
'验证用户权限',
'SUCCESS',
'admin',
''
);//操作日志
EXCEPTION
WHEN OTHERS
THEN
o_RetCode := 1;
o_RetMsg := '操作失败!错误位置:' || l_location;
up_SetClearLog ('user_Login',
o_RetMsg,
'WARN',
'admin',
''
);
END user_Login;

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhouyongyang/archive/2009/10/31/4751766.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: