当前位置:首页 » 编程语言 » sqlid自动编号

sqlid自动编号

发布时间: 2022-12-09 02:48:25

sql数据库列自动生成编号

两种方法:

1、用Truncate

TRUNCATETABLEname可以删除表内所有值并重置标识值

2、用DBCC CHECKIDENT

DBCCCHECKIDENT('table_name',RESEED,new_reseed_value)如dbcc checkident ("bc_pos",reseed,1)即可,

但如果表内有数据,则重设的值如果小于最大值可能会有问题,这时可以用 dbcc checkident("bc_pos",reseed)即可自动重设值。

注意:

只能为不允许空值且数据类型为 decimal、int、numeric、smallint、bigint 或 tinyint 的列设置标识属性。此外,不能为主键列设置标识属性。

(1)sqlid自动编号扩展阅读:

关于上述标识列的引用

如果在SQL语句中引用标识列,可用关键字IDENTITYCOL代替,例如,若要查询上例中ID等于1的行,

以下两条查询语句是等价的:

1、SELECT * FROM T_test WHERE IDENTITYCOL=1

2、SELECT * FROM T_test WHERE

㈡ SQL 自定义的自动编号求助

查询时加序号
a:没有主键的情形:

Select identity(int,1,1) as iid,* into #tmp from TableName
Select * from #tmp
Drop table #tmp

b:有主键的情形:

Select (Select sum(1) from TableName where KeyField <= a.KeyField) as iid,* from TableName a

eg:
select (select sum(1) from user_Admin where id<=a.id) as ID,id,displayName from user_Admin a order by a.ID asc

结果:

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

USE 北风贸易;
GO

/* 方法一*/

SELECT 序号= (SELECT COUNT(客户编号) FROM 客户 AS LiMing
WHERE LiMing.客户编号<= Chang.客户编号),
客户编号, 公司名称
FROM 客户 AS Chang ORDER BY 1;
GO

/* 方法二: 使用SQL Server 2005 独有的RANK() OVER () 语法*/
SELECT RANK() OVER (ORDER BY 客户编号 DESC) AS 序号,
客户编号, 公司名称
FROM 客户;
GO

/* 方法三*/
SELECT 序号= COUNT(*), LiMing.客户编号, LiMing.公司名称
FROM 客户 AS LiMing, 客户AS Chang
WHERE LiMing.客户编号>= Chang.客户编号
GROUP BY LiMing.客户编号, LiMing.公司名称
ORDER BY 序号;
GO

/* 方法四
建立一个“自动编号”的字段,然后将数据新增至一个区域性暂存数据表,
然后由该区域性暂存数据表中,将数据选取出来,最后删除该区域性暂存数据表
*/
SELECT 序号= IDENTITY(INT,1,1), 管道, 程序语言, 讲师, 资历
INTO #LiMing
FROM 问券调查一;
GO
SELECT * FROM #LiMing;
GO
DROP TABLE #LiMing;
GO

/*
方法五
使用 SQL Server 2005 独有的ROW_NUMBER() OVER () 语法
搭配 CTE (一般数据表表达式,就是 WITH 那段语法)选取序号2 ~ 4 的数据
*/
WITH 排序后的图书 AS
(SELECT ROW_NUMBER() OVER (ORDER BY 客户编号 DESC) AS 序号,
客户编号, 公司名称
FROM 客户)
SELECT * FROM 排序后的图书
WHERE 序号 BETWEEN 2 AND 4;
GO

------------分页使用---------------------------
SELECT RANK() OVER (ORDER BY id asc) AS no,* into #temp
FROM Bbs_reply select * from #temp where no between 1 and 100 drop table #temp

㈢ SQL中怎样实现ID自动编号

我们都知道很多的数据库软件都为表提供了自动编号的功能,这对于进行有些表的功能是十分有用 的,可以减少很多不必要工作,由于SQL server是我最近才使用的所以,在这个过程中遇到了一些问题,但是经过查找资料和摸索总算是解决了,所以现在将自己的心得写下,希望当你遇到同样问题时,可以快速的解决.
http://blog.csdn.net/hfly2005/article/details/388809

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:593
制作脚本网站 发布:2025-10-20 08:17:34 浏览:888
python中的init方法 发布:2025-10-20 08:17:33 浏览:581
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:765
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:684
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1012
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:255
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:114
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:806
python股票数据获取 发布:2025-10-20 07:39:44 浏览:712