代码改变世界

数据库sql方面的困惑,sql,mssql ,登录,验证,日志

2008-08-15 17:18  Virus-BeautyCode  阅读(1632)  评论(10编辑  收藏  举报
这个是一个讨论帖子,放到首页是想让更多的老鸟来参加讨论,没有别的意思,希望可以。
谢谢大家

最近的项目使用存储过程比较多,所以出现了很多的想法。

比如说一个系统要求操作都要记录系统日志,记录相应的操作人,时间等等

也就是说添加用户的同时要两步操作,第一步,添加用户信息表,第二步,添加系统日志表,这两个是用两个存储过程,然后在业务层调用两次呢,还是写在一个存储过程,一次调用让数据库都做了呢?
个人认为应该让数据库都做了算了,调用两次还要链接两次数据库,浪费资源,传输资源增加,不如都交给数据库来处理,但是又担心处理的效率,有点迷茫啊,希望有高人指点。
顺便问一下,如何用MSSQL分析sql语句的效率之类的东西,

还有就是登录验证,因为登录成功之后要用到登录用户的其他信息,是应该分开两个操作:
1、验证登录,
2、验证成功,取用户信息

还是坐在一个存储过程中呢,验证的同时,如果成功,就返回相应的用户信息,如果失败,就返回失败

这样的类型的多步操作在系统中很多,我们该如何权衡呢,欢迎老鸟指导,大家也可以讨论说出自己的观点。

这几天我可能不会上网了,希望大家留下宝贵意见,星期一回来我会和大家一起讨论的,谢谢。

本人
email:jorden008@163.com
msn:jorden008@hotmail.com

大家一起交流吧,谢谢


补充一点东西,大家帮个忙吧

下面这个的存储过程中的if。。。。else。。。如何写呢,谢谢

create procedure ValidatingLogin
@LoginName varchar(50),
@Password varchar(50),
@AutoID int output,
@RealName nvarchar(50) output
as
declare @count int;
select count(*from SysUserInfo where LoginName=@LoginName and Password=@Password
if(个数大于0)
begin
返回用户其他信息
返回1
end
else
begin
返回0
end
go