分享方式:


指定資料行的預設值

適用於: SQL Server 2016 (13.x) 和更新版本 Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW)

您可以使用 SQL Server Management Studio (SSMS),指定在資料表資料行中輸入的預設值。 您可以使用物件總管或執行 Transact-SQL 設定預設值。

如果您未將預設值指派給資料行,且使用者將資料行保留空白,則:

  • 如果設定允許 Null 值的選項,NULL 會插入資料行。

  • 如果沒有設定允許 Null 值的選項,資料行會保留空白,但是使用者必須在提供資料行的值之後,才能儲存資料列。

限制

在您開始之前,請留意下列限制和約束:

  • 如果 [預設值] 欄位中的輸入內容取代繫結的預設值 (顯示為沒有括弧),系統會提示您解除繫結預設值,並使用新的預設值加以取代。

  • 若要輸入文字字串,請以單引號 (') 括住值。 請勿使用雙引號 ("),因為它們會保留給引號識別項。

  • 若要輸入數字預設值,請輸入數字,但不要加上引號。

  • 若要輸入物件/函數,請輸入物件/函數的名稱,但不要加上引號。

注意

在 Azure Synapse Analytics 中,只有常數可用於預設條件約束。 運算式不能與預設條件約束搭配使用。

權限

本文所述的動作需要資料表的 ALTER 權限。

使用 SQL Server Management Studio 指定預設值

您可以使用 SSMS 中的物件總管來指定資料表資料行的預設值。 若要如此做,請執行下列步驟:

  1. 在 SSMS 中連線到 SQL Server 執行個體。

  2. 在 [物件總管] 中,找到要變更小數位數的資料行,以滑鼠右鍵按一下包含該資料行的資料表,然後選取 [設計]。

  3. 選取您要指定預設值的資料行。

  4. [資料行屬性] 索引標籤的 [預設值或繫結] 屬性中,輸入新的預設值。

    若要輸入數字預設值,請輸入數字。 若為物件或函數,請輸入其名稱。 若為英數字元預設值,請在單引號內輸入值。

  5. 在 [檔案] 功能表,選取 [儲存<表格名稱>]

使用 Transact-SQL 來指定預設值

透過使用 T-SQL,有許多不同的方式可用來指定資料行的預設值。 在下列每個範例中,您可以使用這些步驟開啟新的 Transact-SQL 查詢。

  1. 在物件總管中,連線到資料庫引擎的執行個體。

  2. 在標準列上,選取 [新增查詢] 。

  3. 複製範例並將其貼到查詢視窗中,然後選取 [執行]

使用 ALTER TABLE

CREATE TABLE dbo.doc_exz (
    column_a INT,
    column_b INT
); -- Allows nulls.
GO

INSERT INTO dbo.doc_exz (column_a)
VALUES (7);
GO

ALTER TABLE dbo.doc_exz
ADD CONSTRAINT DF_Doc_Exz_Column_B DEFAULT 50 FOR column_b;
GO

使用 CREATE TABLE

CREATE TABLE dbo.doc_exz (
    column_a INT,
    column_b INT DEFAULT 50
);

使用具名條件約束

CREATE TABLE dbo.doc_exz (
    column_a INT,
    column_b INT CONSTRAINT DF_Doc_Exz_Column_B DEFAULT 50
);