今天聊一聊sql 2012 上的新功能-----序列
按我的理解,它就是為了實現全域性性的唯一標識,按sql server 以前的版本,想對一張表標識很簡單,比如identity,但如果要對某幾張有業務關聯關係的表,做乙個統一的標識這時有沒有好的辦法來實現?
例如:
通過序列保證兩張表id的唯一性。
首先建立乙個測試庫
create database mb_db02
gouse mb_db02
go--建立序列
create sequence [dbo].[sequence_01] as [bigint]
start with 1
increment by 1
no minvalue
no maxvalue
no cycle
no cache
--start with 設定起始值
--increment by 設定增長間隔
--min和max分別設定最小和最大值
--cycle設定是否迴圈
--cache指定快取的設定
--檢查序列的建立情況
select start_value,increment,current_value from sys.sequences
--建立測試表
create table demoa
(id bigint not null primary key,
class_type nvarchar ( 20 ),
price int
)create table demob
(id bigint not null primary key,
class_type nvarchar ( 20 ),
price int
)--分別對錶demoa與demob插入記錄
insert into demoa values ( next value for sequence_01, '英語' ,1000)
insert into demob values ( next value for sequence_01, '漢語' ,800)
insert into demoa values ( next value for sequence_01 ,'法語' ,1500 )
insert into demob values ( next value for sequence_01 ,'德語' ,2000)
---更改序列值
alter sequence sequence_01
restart with 50
increment by 30
--檢查序列的建立情況
解除安裝sql server 2012
好不容易裝上了sql server2012資料庫,可是卻不能連線本地的資料庫,後來發現缺少一些服務,於是決定重新安裝,但是解除安裝卻很麻煩,如果解除安裝不乾淨的話,重新安裝會出問題,所以下面就總結一些方法 在解除安裝sql server 2012後,大家都希望能夠將登錄檔資訊完全刪乾淨,下面就將教您...
SQLServer 2012 高效分頁
sql code 功能 生成測試資料.create table test paging id int identity 1,1 not null primary key,testnumber int not null,testname varchar 20 not null,testdept var...
SQL Server2012中的Throw語句
簡 介sql server2012實現了 類似c 丟擲異常的 throw 語句。相比較於 sqlserver2005 之前使用 error,和sqlserver2005 之後使用 raiserror 引發 異常都是乙個不小的 進步,下面來看一下 throw 的用法。raiserror 和throw ...