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
-----------
相关文档:
今天在聊天系统中需要系统执行一个多层嵌套查询。
一开始语句如下总出现错误:原来是在]='123') 后我多加了一个 as tb1
改为如下后,正确运行。
select * from ( select top(10) * from ( select top(100) * from (select [chatcontent].[senderid],[chatcontent].[id] ,[chatcontent].[toid] ,[chatc ......
从mssql6.5开始,微软提供了两个不公开,非常有用的系统存储过程sp_MSforeachtable和sp_MSforeachdb,用于遍历某个数据库的每个表和遍历DBMS管理下的每个数据库。
我们在master数据库里执行下面的语句可以看到两个proc详细的代码
use master
exec sp_helptext sp_MSforeachtable
exec sp_helptext sp_Msforeachdb
sp_M ......
How is MSSQL using memory?
http://www.sqlhacks.com/Administration/Memory-Usage
Memory is one the most important factor affecting MSSQL performance.
As an administrator, you should be monitoring the memory
regularly. When Microsoft SQL Server runs out of memory, it will use
virtual memory: ie: ......