SQL Server存储过程

什么是存储过程?

存储过程是由流控制和sql语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,存储过程可由应用程序通过一个调用来执行,而且允许用户声明变量。同时,存储过程可以接收和输出参数、返回执行存储过程的状态值,也可以嵌套调用。

存储过程是一组为了完成特定功能的sql语句集合。

存储过程就是你把逻辑判断写在数据库sql语句集中,然后再vs中调用存储过程名字就行。



有参数的存储过程

--登陆存储过程
CREATE PROCEDURE Proc_Login_GetRoleAndResource
@UserName varchar(50),  --用户名
@UserPwd varchar(50)    --密码


AS
BEGIN
IF(EXISTS(SELECT * FROM T_User WHERE T_User_Name=@UserName  ))   --判断是否存在
BEGIN
IF(EXISTS(SELECT * FROM T_User WHERE T_User_Name=@UserName and T_User_Pwd=@UserPwd))    --判断用户名和密码
BEGIN
SELECT '登陆成功'
SELECT * FROM T_User 
inner join T_User_Role ON T_User.T_User_ID=T_User_Role.T_User_ID 
inner join T_Role ON T_User_Role.T_Role_ID=T_Role.T_Role_ID
inner join T_Role_Resources ON T_Role.T_Role_ID=T_Role_Resources.T_Role_ID
inner join T_Resources ON T_Role_Resources.T_Resources_ID=T_Resources.T_Resources_ID
WHERE T_User_Name=@UserName and T_User_Name=@UserPwd
END
ELSE     --用户名和密码是否正确
BEGIN
SELECT '登陆失败 密码错误'
END
END
ELSE    不存在
BEGIN
SELECT '登陆失败 用户名不存在'
END


END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值