2016-07-28 43 views
0

如何組合唯一鍵添加到用戶定義的表型是這樣的:如何添加複合唯一鍵,用戶定義的表類型

CREATE TYPE [dbo].[jobdata] AS TABLE(
    [emp_num] [smallint] NULL, 
    [job_date] [date] NULL, 
    [year] [smallint] NULL, 
    [job_code] [smallint] NULL, 
    [order_year] [smallint] NULL, 
    [order_ser] [decimal](5, 0) NULL, 

) 
GO 

我想emp_num,job_date是複合唯一鍵。

+0

'unique(emp_num,job_date)',可以在create table或者alter table中執行。 – jarlh

+0

這些字段不得允許空值。 –

+0

用戶定義的表格已經存在我想修改它 –

回答

3

你不能改變用戶自定義表類型,你需要放棄和任何更改再次重新..在創建之後

From MSDN ..

用戶定義類型不能修改,因爲更改可能會使表或索引中的數據無效。要修改類型,您必須刪除類型然後重新創建它,或者使用WITH UNCHECKED DATA子句發出ALTER ASSEMBLY語句。

下面是對用戶自定義表類型

CREATE TYPE test AS TABLE 
(col1 VARCHAR(50) 
, col2 INT , 
unique (col1,col2) 
); 

注意創建唯一約束的方式:我們不能名稱限制,像正常的方式,使創建的約束是無效的..

實施例下面

CREATE TYPE test AS TABLE 
    (col1 VARCHAR(50) 
    , col2 INT , 
    constraint test unique (col1,col2) 
    ); 
+0

Thi s的用戶定義表格 –

+0

用戶定義的類型,我將編輯我的答案 – TheGameiswar

0
 
ALTER TABLE jobdata ADD CONSTRAINT [Unique_emp_num_ob_date] UNIQUE (
    emp_num 
    ,job_date 
    ) 

相關問題