SQL 查询表中是否存在自增列

注:本文引自网络;放在这里主要是坐下备份,也方便大家互相学习……;经本人试用,此法完全可行;


SQL Server如何判断某列是否自增

-----------------------------

---判断Table是否存在自增列(Identity column):

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),并查出自增列相关数据:

 

declare @Table_name varchar(60)

set @Table_name = '';

Select so.name Table_name,                   --表名字

       sc.name Iden_Column_name,             --自增字段名字

       ident_current(so.name) curr_value,    --自增字段当前值

       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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值