麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數(shù)據(jù)庫 > SQL Server > 正文

SQL SERVER 自增列

2020-07-25 13:34:22
字體:
供稿:網(wǎng)友

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,       --自增字段增長值
       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)識值,如有必要,還對標(biāo)識值進(jìn)行更正。

語法

DBCC CHECKIDENT
    ( 'table_name'

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

參數(shù)

'table_name'

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

NORESEED

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

RESEED

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

new_reseed_value

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

注釋

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

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

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

DBCC CHECKIDENT 語句所做的標(biāo)識更正
DBCC CHECKIDENT ('table_name', NORESEED)不重置當(dāng)前標(biāo)識值。DBCC CHECKIDENT 返回一個(gè)報(bào)表,它指明當(dāng)前標(biāo)識值和應(yīng)有的標(biāo)識值。
DBCC CHECKIDENT ('table_name') 或
DBCC CHECKIDENT ('table_name', RESEED)
如果表的當(dāng)前標(biāo)識值小于列中存儲的最大標(biāo)識值,則使用標(biāo)識列中的最大值對其進(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)識。否則,下一個(gè)插入的行將使用 new_reseed_value + 1。如果 new_reseed_value 的值小于標(biāo)識列中的最大值,以后引用該表時(shí)將產(chǎn)生 2627 號錯(cuò)誤信息。

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

  • 執(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)(針對于包含標(biāo)識列的表;下例使用 pubs 數(shù)據(jù)庫的 jobs 表),DBCC CHECKIDENT 返回以下結(jié)果集(值可能會有變化):

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)識值

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

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

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

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

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

USE pubsGODBCC CHECKIDENT (jobs, RESEED, 30)GO
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产精品一 | 美女性感毛片 | 成人毛片av在线 | 日本aⅴ在线 | 小雪奶水翁胀公吸小说最新章节 | 羞羞视频免费观看入口 | 最近中文字幕一区二区 | 亚洲免费视频一区二区 | 成人免费自拍视频 | 亚洲福利视 | 斗破苍穹在线免费 | 精品国产一区二区三区在线 | www.热| 成人毛片100免费观看 | 中文字幕www| 免费一级欧美大片视频 | 久久精品日韩一区 | 国产精品久久久久久久娇妻 | 精品国产一区二区三区四 | 亚洲一区二区三区四区精品 | 斗破苍穹在线免费 | 精品国产视频一区二区三区 | 美女扒开腿让男生桶爽网站 | 免费观看视频在线观看 | 久久一本日日摸夜夜添 | 欧美成人免费看 | 亚洲一区二区中文字幕在线观看 | 国产91丝袜在线播放 | 51色视频| 国产91丝袜在线熟 | 黄色特级 | 成人国产视频在线观看 | 欧美大电影免费观看 | 免费黄色在线观看网站 | 国产一级毛片a | 欧美十区 | 午夜丰满少妇高清毛片1000部 | www日韩大片| 久久大陆 | 精品爱爱| 伊人久操视频 |