指定資料行的預設值

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

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

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

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

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

限制事項

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

  • 如果 [預設值] 欄位中的輸入內容取代繫結的預設值 (顯示為沒有括弧),系統會提示您解除繫結預設值,並使用新的預設值加以取代。
  • 若要輸入文字字串,請將此值放在單引號 (') 之中,不要使用雙引號 ("),因為它們是保留供引號識別碼使用。
  • 若要輸入數字預設值,請輸入數字,但不要加上引號。
  • 若要輸入物件/函數,請輸入物件/函數的名稱,但不要加上引號。

注意

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

權限

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

使用 SSMS 來指定預設值

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

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

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

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

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

    注意

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

  5. 在 [檔案] 功能表上,選取 [儲存 table_name]。

使用 Transact-SQL 來指定預設值

透過使用提交 T-SQL,有許多不同的方式可用來指定資料行的預設值。

ALTER TABLE (T-SQL)

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

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

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

    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 (T-SQL)

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

具名 CONSTRAINT (T-SQL)

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

下一步

如需詳細資訊,請參閱 ALTER TABLE (Transact-SQL)