在SQL server中設定表的自動編號功能

2021-07-09 10:33:25 字數 1241 閱讀 2150

我們都知道很多的資料庫軟體都為表提供了自動編號的功能,這對於進行有些表的功能是十分有用 的,可以減少很多不必要工作,由於sql server是我最近才使用的所以,在這個過程中遇到了一些問題,但是經過查詢資料和摸索總算是解決了,所以現在將自己的心得寫下,希望當你遇到同樣問題時,可以快速的解決.

在sql server中要實現自動可以有兩種方式:

1.通過"企業管理器",以視窗形式建立,開啟如圖所示的視窗,這裡我們以在test資料庫中建立test表的id為自動編號欄位為例:

首先:通過"資料庫"的彈出選單"新建資料庫" 新建乙個資料庫test;

然後:選擇建好的test資料庫,在視窗中選擇"表",單擊右鍵,在彈出的選單選擇"新建表",則會進入表設計器進行表的設計.下圖是設定的效果.在設計完成後,單擊關閉按鈕進行儲存,並將其命名為"test"

2.通過"查詢分析器"以sql方式建立,開啟查詢分析器,在查詢視窗中輸入sql語句

create database test  --建立test資料庫

create table test (id int identity(1,1)  not null,test text) --其中的identity(自動編號的初始舒值,自動編號的增量)即設定自動編號.

3 注意:

(1)乙個表只能有一列定義為自動編號屬性,

(2)在sql server中能夠進行自動編號的幾種資料型別為: decimal、int、numeric、smallint、bigint 或 tinyint。

(3)在建立了自動編號的表中用sql語句插入資料時,其insert中不要包括自動編號的列即如果要在上述test表中插入一行資料,其insert語句就應為:insert into test (test) values ('this is a test table') 或 insert into test values('this is a test table'),而不能使用insert into test (id,test) values ('','this is a test table') 或者 insert into test  values ('','this is a test table').否則就會出現"當 identity_insert 設定為 off 時,不能向表 'test' 中的標識列插入顯式值。"的錯誤提示.如果你一定要在自動編號列中插入特定的行如要執行insert into test values (1,'this is not a test table') ,可以通過首先執行 set identity_insert test(即表名) on語句來實現.

在SQL server中設定表的自動編號功能

我們都知道很多的資料庫軟體都為表提供了自動編號的功能,這對於進行有些表的功能是十分有用 的,可以減少很多不必要工作,由於sql server是我最近才使用的所以,在這個過程中遇到了一些問題,但是經過查詢資料和摸索總算是解決了,所以現在將自己的心得寫下,希望當你遇到同樣問題時,可以快速的解決.在sql...

在SQLServer2005中實現表的行列轉換

pivot和unpivot關係運算子是sql server 2005提供的新增功能,因此,對公升級到sql server 2005的資料庫使用pivot和unpivot時,資料庫的相容級別必須設定為90 可以使用sp dbcmptlevel儲存過程設定相容級別 在查詢的from子句中使用pivot和...

表變數在儲存過程或sql server中的運用

經常遇見過這種情況,在儲存過程中經常用with建立臨時表,這個臨時表這這個功能模組中多次運用,如果都用with建立相同功能的臨時表,好效能和儲存過程中有很多冗餘 為此,我用表變數來實現此種功能 不是錶值變數 定義表變數的語法 declare 表變數名字 table 列名 列型別 是否為空,列名 列型...