Sql:SQL Server CREATE SEQUENCE statement
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | ---自动增长跳至1001 https://stackoverflow.com/questions/17587094/identity-column-value-suddenly-jumps-to-1001-in-sql-server --1. 使用序列 (Sequence) https://docs.microsoft.com/zh-cn/sql/t-sql/statements/create-sequence-transact-sql?view=sql-server-ver15 --2. 为SQL Server 注册启动参数 -t272 IF EXISTS( SELECT * FROM sys.sequences WHERE name = N 'Id_Sequence' ) DROP SEQUENCE Id_Sequence; GO CREATE SEQUENCE Id_Sequence AS INT START WITH 1 --从1开始计数 INCREMENT BY 1 -- 每次加几个 MINVALUE 0 --最小值 NO MAXVALUE --没有最大值 CACHE 10 --设置缓存cache个序列 GO /* START WITH <constant> 序列对象返回的第一个值。 START 值必须小于或等于序列对象的最大值并大于或等于其最小值。 新序列对象的默认起始值是升序序列对象的最小值和降序序列对象的最大值。 INCREMENT BY <constant> 每次调用 NEXT VALUE FOR 函数时序列对象值递增(如果为负数,则为递减)的值。 如果增量是负值,则序列对象为降序,否则为升序。 增量不能为 0。 新序列对象的默认增量为 1。 [ MINVALUE <constant> | NO MINVALUE ] 指定序列对象的边界。 一个新序列对象的默认最小值是该序列对象的数据类型的最小值。 对于 tinyint 数据类型,此值为零,对于所有其他数据类型则为负数。 [ MAXVALUE <constant> | NO MAXVALUE 指定序列对象的边界。 一个新序列对象的默认最大值是该序列对象的数据类型的最大值。 [ CYCLE | NO CYCLE ] 此属性指定当超过序列对象的最小值或最大值时,序列对象是应从最小值(对于降序序列对象,则为最大值)重新开始,还是应引发异常。 新序列对象的默认循环选项是 NO CYCLE。 [ CACHE [<constant> ] | NO CACHE ] 通过最大限度地减少生成序列编号所需的磁盘 IO 数,可以提高使用序列对象的应用程序的性能。 默认值为 CACHE。 例如,如果选择的缓存大小为 50,SQL Server 并不会缓存 50 个单个值。 它只是缓存当前值和缓存中保留的值数。 这意味着,存储缓存所需的内存量始终为序列对象的数据类型的两个实例。 */ DROP table DuInvoiceReceipts go CREATE TABLE DuInvoiceReceipts ( Duid INT PRIMARY KEY DEFAULT ( NEXT VALUE FOR Id_Sequence), orderId INT NOT NULL , isLate BIT NOT NULL , receiptDate Datetime NOT NULL , note NVARCHAR(100) ); go insert into DuInvoiceReceipts(orderId,isLate,receiptDate,note) SELECT 2,1,getdate(),N 'geovindu' union SELECT 3,1,getdate(),N '涂聚文' union SELECT 4,1,getdate(),N 'geovin' union SELECT 5,1,getdate(),N 'du' union SELECT 6,0,getdate(),N '涂年生' union SELECT 7,1,getdate(),N '江西' union SELECT 8,1,getdate(),N '塗聚文(Geovin Du)' union SELECT 9,1,getdate(),N '井岗山' go select * from DuInvoiceReceipts go -- SELECT * FROM sys.sequences WHERE name = 'Id_Sequence' ; go --查询一下个值 SELECT NEXT VALUE FOR Id_Sequence go |
哲学管理(学)人生, 文学艺术生活, 自动(计算机学)物理(学)工作, 生物(学)化学逆境, 历史(学)测绘(学)时间, 经济(学)数学金钱(理财), 心理(学)医学情绪, 诗词美容情感, 美学建筑(学)家园, 解构建构(分析)整合学习, 智商情商(IQ、EQ)运筹(学)生存.---Geovin Du(涂聚文)
分类:
数据库编程
标签:
sql server
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
2016-08-05 C++: read access data using ADOX.DLL and System::Data::OleDb
2016-08-05 C++: DataGridView::DataSource
2016-08-05 Software license key and activation
2013-08-05 Css:Conditional comments 条件注释
2013-08-05 SQL Server迭代求和