SQL SERVER 使用者名稱、密碼登入判斷

景上發表於2016-06-05

1、建立users表:

CREATE TABLE users
(
id INT PRIMARY KEY not null IDENTITY,
name VARCHAR(22),
pwd VARCHAR(33)
)

2、插入幾條資料:

INSERT INTO users VALUES('a','aaaaa'),('b','bbbbb'),('c','ccccc');

3、建立儲存過程:

CREATE PROCEDURE proc_sql    ---儲存過程執行後,如果要修改儲存過程,將CREATE改為ALTER;
@user VARCHAR(22),
@pswd VARCHAR(33),
@msg VARCHAR(50) OUTPUT
AS
BEGIN
   DECLARE @num1 INT,@num2 INT;
   SELECT @num1=COUNT(*) FROM users WHERE name=@user;
   IF @num1>=1
   BEGIN
      SELECT @num2=COUNT(*) FROM users WHERE name=@user AND pwd=@pswd;
      IF @num2>=1
      BEGIN
         SET @msg='使用者名稱和密碼輸入正確';
      END
      ELSE
      BEGIN
         SET @msg='密碼輸入不正確';
      END
   END
   ELSE
    BEGIN
        SET @msg='使用者名稱輸入不正確';
    END
END

4、執行儲存過程:

DECLARE @msg VARCHAR(50);
EXEC proc_sql '1','aaaaa',@msg OUTPUT;
SELECT @msg AS 資訊;

5、結果:
資訊
使用者名稱輸入不正確

相關文章