2015-10-14 48 views
0

我設計一個存儲過程,一個網站的登入,並有登入存儲過程

IF EXISTS (SELECT Member where [email protected] and [email protected])  
BEGIN 
    Select MemberId . . . 
END 
ELSE  
BEGIN  
    UPDATE FailCount +1 

我應該如何在下一個檢查故障計數> = FailLimit?

具體地說我已經搜索以下:

  1. IF. . . THEN
  2. CASE . . WHEN
  3. DECLARE變量和SELECT INTO這些變量然後將它們進行比較(而不是從同一表中比較兩個選擇)。

所有建議表示讚賞!

+0

*** PLease ***告訴我們你**不**在你的數據庫表中以**純文本**存儲密碼!!! –

+0

絕對不是,但感謝通知。 –

回答

1
SELECT @Fail = FailCount 
FROM USER_TABLE 
WHERE Email = @EMail; 

IF @Fail >= @FailLimit THEN 
BEGIN 
    /* PUT YOUR CODE HERE */ 
END 

ELSE 
BEGIN 

    IF EXISTS (SELECT Member FROM USER_TABLE where [email protected] and [email protected])  
    BEGIN 
     Select MemberId . . . 
    END 

    ELSE  
    BEGIN  
     UPDATE USER_TABLE 
     SET FailCount = FailCount + 1 
     WHERE Email = @EMail; 
    END 
END 
+0

'SELECT Member where Email = @ EMail and PW = @ PW' FROM ... –