代码改变世界

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

  Virus-BeautyCode  阅读(1641)  评论(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
复制代码

复制代码

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
历史上的今天:
2007-08-15 [原创]反射,.NET,委托
2007-08-15 [原创]软件自动化测试和.NET中的反射
2007-08-15 [原创]软件自动化测试和.NET中的反射
2007-08-15 [原创]软件自动化测试和.NET中的反射
点击右上角即可分享
微信分享提示