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

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

巧用SQL server臨時表

添加時間:2014-2-25 15:19:59  添加: 思海網絡 

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

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

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

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

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

  1. create procedure gp_findtemptable     
  2.    
  3. /* 尋找以操作員工號命名的全局臨時表    
  4. * 如無則將out參數置為0并創建該表,如有則將out參數置為1    
  5. * 在connection斷開連接后,全局臨時表會被SQL Server自動回收    
  6. * 如發生斷電之類的意外,全局臨時表雖然還存在于tempdb中,    
  7. 但是已經失去活性    
  8. * 用object_id函數去判斷時會認為其不存在.    
  9. */    
  10. @v_userid varchar(6), -- 操作員工號    
  11. @i_out int out -- 輸出參數 0:沒有登錄 1:已經登錄    
  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    

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

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

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

分享到:

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