人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

SQL SERVER 自增列

發(fā)布日期:2022-02-01 18:05 | 文章來源:源碼中國(guó)

declare @Table_name varchar(60)

set @Table_name = '';

if Exists(Select top 1 1 from sysobjects
Where objectproperty(id, 'TableHasIdentity') = 1
and upper(name) = upper(@Table_name)
)
select 1
else select 0

-- or

if Exists(Select top 1 1 from sysobjects so
Where so.xtype = 'U'
and upper(so.name) = upper(@Table_name)
and Exists(Select Top 1 1 from syscolumns sc
Where sc.id = so.id
and columnproperty(sc.id, sc.name, 'IsIdentity') = 1
)
)
select 1
else select 0

判斷Table是否存在自增列(Identity column),并查出自增列相關(guān)數(shù)據(jù):

declare @Table_name varchar(60)
set @Table_name = '';


declare @Table_name varchar(60)
set @Table_name = 'zy_cost_list';
Select so.name Table_name, --表名字
sc.name Iden_Column_name, --自增字段名字
ident_current(so.name) curr_value, --自增字段當(dāng)前值
ident_incr(so.name) incr_value, --自增字段增長(zhǎng)值
ident_seed(so.name) seed_value --自增字段種子值
from sysobjects so
Inner Join syscolumns sc
on so.id = sc.id
and columnproperty(sc.id, sc.name, 'IsIdentity') = 1
Where upper(so.name) = upper(@Table_name)

資料引用:

DBCC CHECKIDENT

檢查指定表的當(dāng)前標(biāo)識(shí)值,如有必要,還對(duì)標(biāo)識(shí)值進(jìn)行更正。

語法

DBCC CHECKIDENT
( 'table_name'

[ , { NORESEED
| { RESEED [ , new_reseed_value ] }
}
]
)

參數(shù)

'table_name'

是要對(duì)其當(dāng)前標(biāo)識(shí)值進(jìn)行檢查的表名。表名必須符合標(biāo)識(shí)符規(guī)則。有關(guān)更多信息,請(qǐng)參見使用標(biāo)識(shí)符。指定的表必須包含標(biāo)識(shí)列。

NORESEED

指定不應(yīng)更正當(dāng)前標(biāo)識(shí)值。

RESEED

指定應(yīng)該更正當(dāng)前標(biāo)識(shí)值。

new_reseed_value

是在標(biāo)識(shí)列中重新賦值時(shí)要使用的值。

注釋

如有必要,DBCC CHECKIDENT 會(huì)更正列的當(dāng)前標(biāo)識(shí)值。然而,如果標(biāo)識(shí)列是使用 NOT FOR REPLICATION 子句(在 CREATE TABLE 或 ALTER TABLE 語句中)創(chuàng)建的,則不更正當(dāng)前標(biāo)識(shí)值。

如果標(biāo)識(shí)列上有主鍵或唯一鍵約束,無效標(biāo)識(shí)信息可能會(huì)導(dǎo)致錯(cuò)誤信息 2627。

對(duì)當(dāng)前標(biāo)識(shí)值所做的具體更正取決于參數(shù)規(guī)范。

DBCC CHECKIDENT 語句 所做的標(biāo)識(shí)更正
DBCC CHECKIDENT ('table_name', NORESEED) 不重置當(dāng)前標(biāo)識(shí)值。DBCC CHECKIDENT 返回一個(gè)報(bào)表,它指明當(dāng)前標(biāo)識(shí)值和應(yīng)有的標(biāo)識(shí)值。
DBCC CHECKIDENT ('table_name') 或
DBCC CHECKIDENT ('table_name', RESEED)
如果表的當(dāng)前標(biāo)識(shí)值小于列中存儲(chǔ)的最大標(biāo)識(shí)值,則使用標(biāo)識(shí)列中的最大值對(duì)其進(jìn)行重置。
DBCC CHECKIDENT ('table_name', RESEED, new_reseed_value) 當(dāng)前值設(shè)置為 new_reseed_value。如果自創(chuàng)建表后沒有將行插入該表,則在執(zhí)行 DBCC CHECKIDENT 后插入的第一行將使用 new_reseed_value 作為標(biāo)識(shí)。否則,下一個(gè)插入的行將使用 new_reseed_value + 1。如果 new_reseed_value 的值小于標(biāo)識(shí)列中的最大值,以后引用該表時(shí)將產(chǎn)生 2627 號(hào)錯(cuò)誤信息。

當(dāng)前標(biāo)識(shí)值可以大于表中的最大值。在此情況下,DBCC CHECKIDENT 并不自動(dòng)重置當(dāng)前標(biāo)識(shí)值。若要在當(dāng)前標(biāo)識(shí)值大于列中的最大值時(shí)對(duì)當(dāng)前標(biāo)識(shí)值進(jìn)行重置,請(qǐng)使用兩種方法中的任意一種:

  • 執(zhí)行 DBCC CHECKIDENT ('table_name', NORESEED) 以確定列中的當(dāng)前最大值,然后使用 DBCC CHECKIDENT ('table_name', RESEED, new_reseed_value) 語句將該值指定為 new_reseed_value
  • new_reseed_value 置為很小值來執(zhí)行 DBCC CHECKIDENT ('table_name', RESEED, new_reseed_value),然后運(yùn)行 DBCC CHECKIDENT ('table_name', RESEED)。
結(jié)果集

不管是否指定任何選項(xiàng)(針對(duì)于包含標(biāo)識(shí)列的表;下例使用 pubs 數(shù)據(jù)庫的 jobs 表),DBCC CHECKIDENT 返回以下結(jié)果集(值可能會(huì)有變化):

Checking identity information: current identity value '14', current column value '14'.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
權(quán)限

DBCC CHECKIDENT 權(quán)限默認(rèn)授予表所有者、sysadmin 固定服務(wù)器角色和 db_owner 固定數(shù)據(jù)庫角色的成員且不可轉(zhuǎn)讓。

示例
A. 如有必要,重置當(dāng)前標(biāo)識(shí)值

下例在必要的情況下重置 jobs 表的當(dāng)前標(biāo)識(shí)值。

USE pubs
GO
DBCC CHECKIDENT (jobs)
GO
B. 報(bào)告當(dāng)前標(biāo)識(shí)值

下例報(bào)告 jobs 表中的當(dāng)前標(biāo)識(shí)值;如果該標(biāo)識(shí)值不正確,并不對(duì)其進(jìn)行更正。

USE pubs
GO
DBCC CHECKIDENT (jobs, NORESEED)
GO
C. 強(qiáng)制當(dāng)前標(biāo)識(shí)值為 30

下例強(qiáng)制 jobs 表中的當(dāng)前標(biāo)識(shí)值為 30。

USE pubs
GO
DBCC CHECKIDENT (jobs, RESEED, 30)
GO

海外服務(wù)器租用

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對(duì)1客戶咨詢顧問

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部