sql自動生成編號
1. 利用sql語句自動生成序列號:SELECT (@i :=@i + 1)
@i:=@i+1表示序號依次加1
後面的查詢SELECT @i := 0是為了將i進行初始化每次查詢的序列號都會從1開始進行排序生成序列號
用SQL語句可以這樣寫就能生成序列號: select(@i:=@i+1)as 序號 from (select @i:=0) as i
SELECT (@i:=@i+1) 序號 , name as 所屬組織,resource as 單位 FROM cx_external_resources , (SELECT @i:=0) as i
2. SQL資料庫列自動生成編號
兩種方法:
1、用Truncate
TRUNCATETABLEname可以刪除表內所有值並重置標識值
2、用DBCC CHECKIDENT
DBCCCHECKIDENT('table_name',RESEED,new_reseed_value)如dbcc checkident ("bc_pos",reseed,1)即可,
但如果表內有數據,則重設的值如果小於最大值可能會有問題,這時可以用 dbcc checkident("bc_pos",reseed)即可自動重設值。
注意:
只能為不允許空值且數據類型為 decimal、int、numeric、smallint、bigint 或 tinyint 的列設置標識屬性。此外,不能為主鍵列設置標識屬性。
(2)sql自動生成編號擴展閱讀:
關於上述標識列的引用
如果在SQL語句中引用標識列,可用關鍵字IDENTITYCOL代替,例如,若要查詢上例中ID等於1的行,
以下兩條查詢語句是等價的:
1、SELECT * FROM T_test WHERE IDENTITYCOL=1
2、SELECT * FROM T_test WHERE
3. 創建自動編號欄位的sql語句怎麼寫
第一種方式:創建table的時候直接創建一個自增長的標識列,以這個標識列為編號;
第二種方式:查詢table的時候自動生成排知檔序編睜戚號,可悉猛陵以使用row_number()
over(),比如
SELECT
*,
Row_Number()
OVER
(partition
by
deptid
ORDER
BY
salary
desc)
rank
FROM
employee
4. SQL 資料庫中如何自動生成訂單號
SQL server中可以用sequence來實現訂單號的自動生成。
例如創建如下序列:
create sequence orderSeq
as bigint --數據類型
start with 100000 --開始值
increment by 1 --增量
minvalue 1 --最小值
maxvalue 1000000--最大值
no cycle --不循環
cache 3 --設置cache大小為3
這樣訂單號就會從100000開始每次自增1生成。