MSSQL自增列重複與不連續
--> Title : 自增列重複與不連續
--> Author : wufeng4552
--> Date : 2009-11-13 08:31:12
--自增列通常在以下幾種情況而導致不連續
if object_id('tb')is not null drop table tb
go
create table tb(ID int identity(0,1),name varchar(10)unique)
--1插入失敗自動回滾
insert tb([name]) select 'A'
insert tb([name]) select 'A'
/*
錯誤原因
訊息2627,層級14,狀態1,行4
違反UNIQUE KEY 條件約束'UQ__tb__6B79F03D'。無法在物件'dbo.tb' 中插入重複的索引鍵。
陳述式已經結束。
*/
insert tb([name]) select 'B'
select * from tb
-->查詢結果
/*
(1 個資料列受到影響)
ID name
----------- ----------
0 A
2 B
(2 個資料列受到影響)
*/
if object_id('tb')is not null drop table tb
go
create table tb(ID int identity(0,1),name varchar(10)unique)
--2手動回滾
insert tb([name]) select 'B'
begin tran
insert tb([name]) select 'A'
rollback tran
insert tb([name]) select 'C'
select * from tb
-->查詢結果
/*
ID name
----------- ----------
0 B
2 C
(2 個資料列受到影響)
*/
if object_id('tb')is not null drop table tb
go
create table tb(ID int identity(0,1),name varchar(10)unique)
--3重置種子
insert tb([name]) select 'B'
dbcc checkident(tb,reseed,2)
insert tb([name]) select 'C'
insert tb([name]) select 'D'
select * from tb
-->查詢結果
/*
ID name
-----------
相关文档:
当数据服务器和Web服务器部署在不同的服务器上时,会用到分布式事务,需要对两个服务器的MSDTC进行配置。
打开“管理工具――组件服务”,以此打开“组件服务――计算机”,在“我的电脑”上点击右键。在MSDTC选项卡中,点击“安全配置”按钮。 ......
今天在聊天系统中需要系统执行一个多层嵌套查询。
一开始语句如下总出现错误:原来是在]='123') 后我多加了一个 as tb1
改为如下后,正确运行。
select * from ( select top(10) * from ( select top(100) * from (select [chatcontent].[senderid],[chatcontent].[id] ,[chatcontent].[toid] ,[chatc ......
1.
--将汉字转换为拼音首字母
CREATE function GetAllPY(@str nvarchar(4000))
returns nvarchar(4000)
--WITH ENCRYPTION
as
begin
declare @intLen int
declare @strRet nvarchar(4000)
declare @temp nvarchar(100)
set @intLen &nb ......
如何创建链接服务器
IF EXISTS (SELECT srv.name from sys.servers srv WHERE srv.server_id != 0 AND srv.name = N'链接服务器名')
EXEC master.dbo.sp_dropserver @server=N'链接服务器名'', @droplogins='droplogins'
GO
EXEC master.dbo.sp_addlinkedserver
@server = N'链接服务器名'', @srvproduct= ......