`

判断SQL SERVER Table是否存在自增列

阅读更多

关于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 = '';

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,    --自增字段当前值
       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)

分享到:
评论

相关推荐

    SQL Server 2008怎样添加自增列实现自增序号

    在做《机房收费系统》的时候,有的表需要添加自增列,在添加新纪录时自动添加一个序号。下面我给大家介绍两种添加方法: 一、通过T-SQL代码. 代码如下: alter table 表名 add 列名 int IDENTITY(1,1) NOT NULL 这里...

    SQL 在自增列插入指定数据的操作方法

    SQL Server 中数据表往往会设置自增列,常见的比如说 首列的ID列。 往数据表插入新数据的时候,自增列是跳过的,无需插入即会按照设置的自增规则进行列增长。那么,如果我们想往自增列插入我们指定的数据时该怎么做...

    SQL Server 打开或关闭自增长

    `SET IDENTITY_INSERT` 是SQL Server中用于控制是否允许在插入数据时手动指定自增长列的值的命令。默认情况下,自增长列是关闭的,这意味着当你尝试插入包含自增长列值的行时,SQL Server会抛出错误。为了插入自定义...

    sqlserver自动增长字段设置方法.rar

    在SQL Server数据库管理系统中,自动增长(Identity)字段是一个非常重要的特性,主要用于为表中的记录生成唯一的标识符,通常作为主键使用。本教程将详细解释如何在SQL Server中设置和管理自动增长字段。 首先,...

    SQL Server 中调整自增字段的当前初始值

    SQL Server 中调整自增字段的当前初始值 SQL Server 中调整自增字段的当前初始值是指在 SQL Server 中对自增字段的当前初始值进行调整,以解决自增字段的当前初始值与数据库维护的初始自增值不一致的问题。 在 SQL...

    解决sqlserver 2012 中ID 自动增长 1000的问题.zip

    在SQL Server 2012中,自增ID(Identity列)是数据库设计中的常见元素,用于自动为新插入的行生成唯一的标识符。然而,有时可能会遇到自增ID值跳过特定数值,例如从一个ID跳到1000或2000的情况。这种问题通常是由于...

    SQL server 自增ID–序号自动增加的字段操作

    1、SQL server中创建表,带有自增列。 create table Test_Table(Id int Identity(1,1), Name varchar(20)); 这里用到了IDENTITY 关键字。IDENTITY(a,b),a b均为正整数,a表示开始数,b表示步长。 IDENTITY(1,1)就...

    SQL Server修改标识列方法 如自增列的批量化修改

    代码如下: –允许对系统表进行更新 exec sp_configure ‘allow updates’,1 reconfigure with override GO –取消标识列标记 update syscolumns set colstat = 0 where id = object_id(‘tablename’) and colstat ...

    SQL SERVER 自增列

    在SQL Server中,你可以通过查询系统视图和对象来判断一个表是否具有自增列。以下是一种常用的方法: ```sql DECLARE @Table_name VARCHAR(60); SET @Table_name = ''; IF EXISTS ( SELECT TOP 1 1 FROM ...

    Oracle 实现类似SQL Server中自增字段的一个办法

    在SQL Server中,自增字段通常通过`IDENTITY`属性实现,它会自动为新插入的行生成一个唯一的序列号。然而,在Oracle数据库系统中,没有直接对应的`IDENTITY`功能,但可以通过其他方式来模拟这个行为。这里我们将讨论...

    Sql Server 语法

    在SQL Server中,数据库的管理和操作是通过一系列的SQL语句来实现的。本文主要讨论的是关于`Sql Server`的语法,重点集中在创建、修改和删除表结构的操作上。 首先,我们来看创建表结构的`CREATE TABLE`语句。创建...

    SQL Server 之 SET IDENTITY_INSERT

    在SQL Server中,`SET IDENTITY_INSERT`是一个重要的命令,它主要用于处理标识列(即自动编号列,通常由`IDENTITY`关键字定义)的显式赋值问题。默认情况下,当向一个包含`IDENTITY`属性的表中插入数据时,标识列的...

    SqlServer查看表结构

    本篇文章将深入解析“SqlServer查看表结构”的方法,以及如何利用SQL语句来获取详细的表结构信息,这对于数据库管理员(DBA)、数据分析师、软件开发者等专业人士来说尤为关键。 ### SQL Server查看表结构的重要性 ...

    SQLServer-让标识列重新开始计算

    在SQL Server中,标识列(Identity Column)是一种自增型字段,常用于自动为表中的记录分配唯一的序列号。这在创建主键或唯一索引时非常有用,尤其是在需要为新记录自动分配唯一编号的情况下。但是,在某些情况下,...

    使用SQL Server 获取插入记录后的ID(自动编号)

    本篇文章主要介绍了几种在SQL Server中获取自增ID的方法,针对SQL Server 2000和2005版本。 1. **@@IDENTITY** `@@IDENTITY` 是SQL Server提供的一种函数,它返回的是当前会话中最后一次插入操作(无论在哪个表中...

    sqlserver与myqsql区别

    标题中提到的是“sqlserver与mysql区别”,而描述部分明确指出“MS SQL不支持limit语句”,并给出了一些替代方案,比如使用top和row_number() over()函数。下面将围绕标题和描述,结合部分内容,详细阐述SQL Server...

Global site tag (gtag.js) - Google Analytics