av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

采用手動(dòng)增長(zhǎng)型字段選取sql server主鍵

sql server主鍵有多種選取的方式,下面為您詳解采用手動(dòng)增長(zhǎng)型字段選取sql server主鍵的方式,供您參考,希望對(duì)您有所啟迪。

創(chuàng)新互聯(lián)建站專業(yè)提供成都主機(jī)托管四川主機(jī)托管成都服務(wù)器托管四川服務(wù)器托管,支持按月付款!我們的承諾:貴族品質(zhì)、平民價(jià)格,機(jī)房位于中國(guó)電信/網(wǎng)通/移動(dòng)機(jī)房,綿陽(yáng)電信機(jī)房機(jī)柜租用服務(wù)有保障!

既然自動(dòng)增長(zhǎng)型字段會(huì)帶來(lái)如此的麻煩,我們不妨考慮使用手動(dòng)增長(zhǎng)型的字段,也就是說(shuō)sql server主鍵的值需要自己維護(hù),通常情況下需要建立一張單獨(dú)的表存儲(chǔ)當(dāng)前sql server主鍵鍵值。還用上面的例子來(lái)說(shuō),這次我們新建一張表叫IntKey,包含兩個(gè)字段,KeyName以及KeyValue。就像一個(gè)HashTable,給一個(gè) KeyName,就可以知道目前的KeyValue是什么,然后手工實(shí)現(xiàn)鍵值數(shù)據(jù)遞增。在SQL Server中可以編寫這樣一個(gè)存儲(chǔ)過(guò)程,讓取鍵值的過(guò)程自動(dòng)進(jìn)行。代碼如下:

 
 
 
  1. CREATE PROCEDURE [GetKey]@KeyName char(10),   
  2. @KeyValue int OUTPUT  
  3. AS   
  4. UPDATE IntKey SET @KeyValueKeyValue = KeyValue =  
  5. KeyValue + 1 WHERE KeyName = @KeyName   
  6. GO  

這樣,通過(guò)調(diào)用存儲(chǔ)過(guò)程,我們可以獲得最新鍵值,確保不會(huì)出現(xiàn)重復(fù)。若將OrderID字段設(shè)置為手動(dòng)增長(zhǎng)型字段,我們的程序可以由以下幾步來(lái)實(shí)現(xiàn):首先調(diào)用存儲(chǔ)過(guò)程,獲得一個(gè)OrderID,然后使用這個(gè)OrderID填充Order表與OrderDetail表,最后在事務(wù)保護(hù)下對(duì)兩表進(jìn)行更新。

使用手動(dòng)增長(zhǎng)型字段作為sql server主鍵在進(jìn)行數(shù)據(jù)庫(kù)間數(shù)據(jù)復(fù)制時(shí),可以確保數(shù)據(jù)合并過(guò)程中不會(huì)出現(xiàn)鍵值沖突,只要我們?yōu)椴煌臄?shù)據(jù)庫(kù)分配不同的主鍵取值段就行了。但是,使用手動(dòng)增長(zhǎng)型字段會(huì)增加網(wǎng)絡(luò)的RoundTrip,我們必須通過(guò)增加一次數(shù)據(jù)庫(kù)訪問(wèn)來(lái)獲取當(dāng)前主鍵鍵值,這會(huì)增加網(wǎng)絡(luò)和數(shù)據(jù)庫(kù)的負(fù)載,當(dāng)處于一個(gè)低速或斷開(kāi)的網(wǎng)絡(luò)環(huán)境中時(shí),這種做法會(huì)有很大的弊端。同時(shí),手工維護(hù)主鍵還要考慮并發(fā)沖突等種種因素,這更會(huì)增加系統(tǒng)的復(fù)雜程度。

【編輯推薦】

SQL CHARINDEX函數(shù)的使用

SQL查詢時(shí)間段的語(yǔ)句寫法

三種SQL索引

SQL隱性事務(wù)實(shí)例

SQL事務(wù)的操作語(yǔ)法


網(wǎng)站欄目:采用手動(dòng)增長(zhǎng)型字段選取sql server主鍵
當(dāng)前路徑:http://uogjgqi.cn/article/dpgihhi.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流