首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server Compact Edition 建立複合唯一索引語法範例

     編輯:關於SqlServer

SQL CE 複合唯一索引建立語法

SQL Server Compact Edition (SQL CE) 不支援獨立的 CREATE INDEX 陳述式,複合唯一索引需在 CREATE TABLE 時透過 CONSTRAINT 定義。

完整範例


CREATE TABLE [PT_check3] (
    [FCheckPlan_ID] NVARCHAR(20) NOT NULL,
    [FBarCode] NVARCHAR(20) NOT NULL,
    [FIn_Code] NVARCHAR(10) NOT NULL,
    [FGoodsName] NVARCHAR(30) NOT NULL,
    [FIsReCheck] INT NULL,
    [FQty] NUMERIC(10, 2) NULL,
    CONSTRAINT [PK_vw_Checks] UNIQUE ([FCheckPlan_ID], [FIn_Code])
);

關鍵點解析

項目說明
CONSTRAINT 名稱PK_vw_Checks - 建議命名規範:UQ_TableName_Col1_Col2 或 PK_TableName (若為主鍵)
UNIQUE建立**非叢集唯一索引**,確保 FCheckPlan_ID + FIn_Code 組合唯一
欄位順序依查詢濾選順序排列:最常用於 WHERE/JOIN 的欄位放前面
NOT NULL參與唯一索引的欄位建議設 NOT NULL,避免 NULL 唯一性語意模糊

SQL CE 索引限制提醒

  • **不支援** CREATE INDEX、DROP INDEX、ALTER INDEX。
  • **不支援** 篩選索引、包含欄位、空間索引、XML 索引。
  • 主鍵自動建立叢集索引;唯一約束建立非叢集索引。
  • 索引維護需透過重建表或 ALTER TABLE ... ALTER COLUMN 間接觸發。

對應標準 SQL Server 寫法 (參考)


-- 標準 SQL Server 可獨立建立索引
CREATE TABLE dbo.PT_check3 (...);
CREATE UNIQUE NONCLUSTERED INDEX UQ_PT_check3_Plan_InCode
ON dbo.PT_check3 (FCheckPlan_ID, FIn_Code);
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved