順序屬性 (一般頁面)

適用于:SQL Server (所有支援的版本) Azure SQL Database Azure SQL 受控執行個體

建立順序物件,並指定其屬性。 序列是使用者定義之結構描述繫結的物件,該物件會根據建立序列所使用的規格產生一連串的數值。 數值序列會在定義的間隔依照遞增或遞減順序來產生,而且在用完時可設定為重新啟動 (循環)。 順序不會與特定資料表產生關聯,與識別欄位不同。 應用程式會參考順序物件,以擷取它的下一個值。 順序與資料表之間的關聯性是由應用程式所控制。 使用者的應用程式可以參考序列物件,並協調跨越多個資料列和資料表的值。

不同於插入時產生的識別資料行值,應用程式可以藉由呼叫 NEXT VALUE FOR 函數取得下一個序數,而不需要插入資料列。 您可以使用 sp_sequence_get_range 一次取得多個序號。

如需使用 CREATE SEQUENCENEXT VALUE FOR 函數的相關資訊和案例,請參閱 序號

此頁面可經由兩種方式存取:以滑鼠右鍵按一下 [物件總管] 中的 [順序],然後按一下 [新增順序],或者以滑鼠右鍵按一下現有的順序,然後按一下 [屬性]。 以滑鼠右鍵按一下現有的順序,然後按一下 [屬性] 時,無法編輯選項。 若要變更順序選項,請使用 ALTER SEQUENCE (Transact-SQL) 語句或卸載並重新建立序列物件。

選項

順序名稱
在此處輸入順序名稱。

順序結構描述
指定將擁有此順序的結構描述。

Data type
順序可以定義為任何整數類型。 這包括:

資料類型 範圍
tinyint 0 至 255
smallint -32,768 至 32,767
int -2,147,483,648 至 2,147,483,647
bigint -9,223,372,036,854,775,808 至 9,223,372,036,854,775,807
  • decimal 或小數位數為 0 的 numeric

  • 以這些類型之一為基礎的任何使用者定義的資料類型 (別名類型)。

有效位數
十進位數值 資料類型請指定精確度。 (小數位數一定是 0)。

開始值
順序物件會傳回的第一個值。 START 值必須是小於或等於順序物件的最大值,而且大於或等於最小值。 新順序物件的預設開始值是遞增順序物件的最小值,是遞減順序物件的最大值。

遞增量
每次呼叫 NEXT VALUE FOR 函數時,用來遞增順序物件值的值 (如果是負數則遞減)。 如果增量是負值,則會遞減順序物件,否則會遞增。 增量不能為 0。

最小值
指定順序物件的界限。 新序列物件的預設最小值是序列物件之資料類型的最小值。 如果是 tinyint 資料類型,這是零,如果是所有其他資料類型,則為負數。

最大值
指定順序物件的界限。 新序列物件的預設最大值是序列物件之資料類型的最大值。

在達到限制時循環順序將會重新啟動
選取以允許當超出其最小值或最大值時,順序物件從最小值 (或是遞減順序物件的最大值) 重新啟動。

注意

循環並不會從開始值重新啟動,而是從最小值/最大值重新啟動。

快取選項
建立順序值的快取,可藉由減少建立序號所需的磁碟 IO 數目,對使用順序物件的應用程式提升效能。

  • 預設快取大小 - Database Engine 會選取大小,不過使用者不應依賴選取專案保持一致。 Microsoft 可能會變更計算快取大小的方法,而不需注意。

  • 沒有快取 - SQL Server不會快取序號。

  • 具有大小的快取 - SQL Server會快取序列值。 SQL Server會追蹤目前值和快取中剩餘的值數目。 因此,儲存快取所需的記憶體數量永遠是順序物件之資料類型的兩個執行個體。

以 CACHE 選項建立時,非預期關閉 (例如停電) 可能會失去快取中的序號。

如需建立順序選項的其他資訊,請參閱 CREATE SEQUENCE (Transact-SQL)

權限

需要 SCHEMA 的 CREATE SEQUENCEALTERCONTROL 權限。

另請參閱

sys.sequences (Transact-SQL)