亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網(wǎng)絡,我們將竭誠為您提供優(yōu)質(zhì)的服務! 誠征網(wǎng)絡推廣 | 網(wǎng)站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯(lián)系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業(yè)務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發(fā)消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

巧用SQL server臨時表

添加時間:2014-2-25 15:19:59  添加: 思海網(wǎng)絡 

  SQL server臨時表是經(jīng)常需要用到的,下面就教您如何使用SQL server臨時表解決防止用戶重復登錄問題,供您參考。

  在我們開發(fā)商務軟件的時候,常常會遇到這樣的一個問題:怎樣防止用戶重復登錄我們的系統(tǒng)?特別是對于銀行或是財務部門,更是要限制用戶以其工號身份多次登入。

  可能會有人說在用戶信息表中加一字段判斷用戶工號登錄的狀態(tài),登錄后寫1,退出時寫0,且登錄時判斷其標志位是否為1,如是則不讓該用戶工號登錄。但是這樣那勢必會帶來新的問題:如發(fā)生象斷電之類不可預知的現(xiàn)象,系統(tǒng)是非正常退出,無法將標志位置為0,那么下次以該用戶工號登錄則不可登入,這該怎么辦呢?

  或許我們可以換一下思路:有什么東西是在connection斷開后可以被系統(tǒng)自動回收的呢?對了,SQL Server臨時表具備這個特性!但是我們這里的這種情況不能用局部SQL server臨時表,因為局部臨時表對于每一個connection來說都是一個獨立的對象,因此只能用全局臨時表來達到我們的目的。

  好了,情況已經(jīng)明朗話了,我們可以寫一個象下面這樣簡單的存儲過程:
 

  1. create procedure gp_findtemptable     
  2.    
  3. /* 尋找以操作員工號命名的全局臨時表    
  4. * 如無則將out參數(shù)置為0并創(chuàng)建該表,如有則將out參數(shù)置為1    
  5. * 在connection斷開連接后,全局臨時表會被SQL Server自動回收    
  6. * 如發(fā)生斷電之類的意外,全局臨時表雖然還存在于tempdb中,    
  7. 但是已經(jīng)失去活性    
  8. * 用object_id函數(shù)去判斷時會認為其不存在.    
  9. */    
  10. @v_userid varchar(6), -- 操作員工號    
  11. @i_out int out -- 輸出參數(shù) 0:沒有登錄 1:已經(jīng)登錄    
  12. as    
  13. declare @v_sql varchar(100)    
  14. if object_id(''''tempdb.dbo.##''''+@v_userid) is null    
  15. begin    
  16. set @v_sql = ''''create table ##''''+@v_userid+    
  17. ''''(userid varchar(6))''''    
  18. exec (@v_sql)    
  19. set @i_out = 0   
  20. end    
  21. else    
  22. set @i_out = 1    

  在這個過程中,我們看到如果以用戶工號命名的全局臨時表不存在時過程會去創(chuàng)建一張并把out參數(shù)置為0,如果已經(jīng)存在則將out參數(shù)置為1。

  這樣,我們在我們的應用程序中調(diào)用該過程時,如果取得的out參數(shù)為1時,我們可以毫不客氣地跳出一個message告訴用戶說”對不起,此工號正被使用!”

關鍵字:SQL server、應用程序、臨時表

分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網(wǎng)絡有限公司 ©1998-2024 All Rights Reserved.
聯(lián)系電話:(0757)22630313、22633833
中華人民共和國增值電信業(yè)務經(jīng)營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網(wǎng)站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網(wǎng)安 舉報有獎  警警  手機打開網(wǎng)站