SQL存储过程登陆实例

本文介绍了如何使用SQL存储过程来实现用户登录的功能,详细阐述了存储过程的创建、调用以及与数据库交互的关键步骤,旨在帮助开发者更好地理解和应用SQL存储过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

--CREATE DATABASE UserManage
--use UserManage
CREATE TABLE UserInfo
(
    UserID int primary key identity(1,1),
    UserName nvarchar(20) not null,
    UserPassword nvarchar(20) not null,
    IsAllow BIT NOT NULL
)

INSERT INTO UserInfo VALUES('ROOT','123','true')
INSERT INTO UserInfo VALUES('admin','admin','true')
INSERT INTO UserInfo VALUES('123','123','false')
INSERT INTO UserInfo VALUES('234','123','false')
INSERT INTO UserInfo VALUES('345','123','false')

SELECT * FROM UserInfo
--USE [UserManage]
--GO

--DECLARE   @return_value int,
--      @result nvarchar(50)

--EXEC  @return_value = [dbo].[UserLogin]
--      @name = root,
--      @pwd = 123,
--      @result = @result OUTPUT

--SELECT    @result as N'@result'

--SELECT    'Return Value' = @return_value

--GO
--CREATE PROC UserLogin 
ALTER PROC UserLogin 
@name nvarchar(20), --传入参数
@pwd nvarchar(20),
@result nvarchar(50) out--返回值

AS

DECLARE 
@UserName nvarchar(20),--变量声明
@UserPwd nvarchar(20),
@Count int,
@IsAllow BIT

BEGIN
--获取用户名
SELECT @Count= COUNT(1) FROM UserInfo WHERE UserName = @name
    IF(@Count = 0 OR @Count IS NULL)
    BEGIN
        SET @result = '用户名不存在!';
    END
    ELSE IF(@Count = 1)
    BEGIN
        SELECT @UserPwd = UserPassword,@IsAllow = IsAllow FROM UserInfo WHERE UserName = @name
        IF( @UserPwd = @pwd)
        BEGIN
            IF(@IsAllow = 1)
            BEGIN
                SET @result = '登陆成功!';
            END
            ELSE
            BEGIN
                SET @result = '没有权限登陆系统!';
            END
        END
        ELSE
        BEGIN
            SET @result = '密码错误!';
        END
    END

END
GO
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值