新聞中心
Oracle標(biāo)識列大家都有一些了解,下面就為您詳細(xì)介紹在Oracle標(biāo)識列里插入特定的值的實(shí)現(xiàn)方法,如果您對此方面感興趣的 話,不妨一看。

創(chuàng)新互聯(lián)公司云計(jì)算的互聯(lián)網(wǎng)服務(wù)提供商,擁有超過13年的服務(wù)器租用、西信服務(wù)器托管、云服務(wù)器、網(wǎng)站空間、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn),已先后獲得國家工業(yè)和信息化部頒發(fā)的互聯(lián)網(wǎng)數(shù)據(jù)中心業(yè)務(wù)許可證。專業(yè)提供云主機(jī)、網(wǎng)站空間、域名注冊、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
盡管你可以對Oracle標(biāo)識列(identity column)的值及其任意值的用處有千條萬條理由,但是和你共同工作的一些人會堅(jiān)持在給定的表格里使用連續(xù)的主關(guān)鍵字(PK)。然后,當(dāng)發(fā)票號丟失的時候,他們就會恐慌、害怕被起訴、掩蓋錯誤,甚至更糟。
為了解決這個問題,你可以創(chuàng)建一個帶有Oracle標(biāo)識列的表格,并用一些數(shù)據(jù)行來填充它:
- -- Create a test table.
- CREATE TABLE TestIdentityGaps
- (
- ID int IDENTITY PRIMARY KEY,
- Description varchar(20)
- )
- GO
- -- Insert some values. The word INTO is optional:
- INSERT [INTO] TestIdentityGaps (Description) VALUES ('One')
- INSERT [INTO] TestIdentityGaps (Description) VALUES ('Two')
- INSERT [INTO] TestIdentityGaps (Description) VALUES ('Three')
- INSERT [INTO] TestIdentityGaps (Description) VALUES ('Four')
- INSERT [INTO] TestIdentityGaps (Description) VALUES ('Five')
- INSERT [INTO] TestIdentityGaps (Description) VALUES ('Six')
- GO
現(xiàn)在,刪除幾個數(shù)據(jù)行:
- DELETE TestIdentityGaps
- WHERE Description IN('Two', 'Five')
在我們編寫代碼的時候,我們知道“二(Two)”和“五(Five)”這兩個值丟了。我們想要插入兩個數(shù)據(jù)行來填補(bǔ)這些空缺。兩個簡單的INSERT陳述式無法滿足要求;但是,它們會在序列的結(jié)尾創(chuàng)建主關(guān)鍵字。
- INSERT [INTO] TestIdentityGaps (Description) VALUES ('Two Point One')
- INSERT [INTO] TestIdentityGaps (Description) VALUES ('Five Point One')
- GO
- SELECT * FROM TestIdentityGaps
你也無法明確地設(shè)置標(biāo)識列的值:
- -- Try inserting an explicit ID value of 2. Returns a warning.
- INSERT INTO TestIdentityGaps (id, Description) VALUES(2, 'Two Point One')
- GO
為了解決這個問題,SQL服務(wù)器2000用IDENTITY_INSERT來進(jìn)行設(shè)置。為了強(qiáng)行插入一個帶有特定值的數(shù)據(jù)行,你需要發(fā)出命令,然后在后面接上具體插入的內(nèi)容:
- SET TestIdentityGapsON
- INSERT INTO TestIdentityGaps (id, Description) VALUES(2, 'Two Point One')
- INSERT INTO TestIdentityGaps (id, Description) VALUES(5, 'Five Point One')
- GO
- SELECT * FROM TestIdentityGaps
現(xiàn)在你可以看到新的數(shù)據(jù)行已經(jīng)用指定的主關(guān)鍵字值插入了。
注意:對IDENTITY_INSERT的設(shè)置可以在任何特定的時候用在數(shù)據(jù)庫里的某個表格上。如果需要在一個或者多個表格里填補(bǔ)空缺,你就必須用具體的命令來明確地指明每個表格。
你可以在一個帶有標(biāo)識列的表格里插入一個具體的值,但是要這樣做的話,你必須首先把IDENTITY_INSERT的值設(shè)置為ON。如果你沒有,你就會看到一條錯誤消息。即使你把IDENTITY_INSERT的值設(shè)置為了ON,但是如果再插入一個已有的值的話,你還是會看到錯誤消息。
標(biāo)題名稱:在Oracle標(biāo)識列里插入特定的值
本文地址:http://m.5511xx.com/article/dhedgip.html


咨詢
建站咨詢
