ユーザ定義テーブルは実際のテーブルではないため、ではなく、sys.table_types
にエントリがあります。
sys.table_types.type_table_object_id
とsys.key_constraints.parent_object_id
フィールドが使用されている場合は、キー情報は、例えば、他のテーブルと同じようにsys.key_constraints
から取得することができます。その後
create TYPE TestTableType AS TABLE
(
ID int primary key,
Name nVARCHAR(50)
)
declare @typeID int
select @typeId=type_table_object_id
from sys.table_types
where name='TestTableType'
select @typeId
-- Returns 1134627085
select *
from sys.key_constraints
where [email protected]
-- Returns
-- PK__TT_TestT__3214EC27BA14A4A6 1150627142 NULL 4 1134627085 PK PRIMARY_KEY_CONSTRAINT 2016-04-25 17:36:34.890 2016-04-25 17:36:34.890 1 0 0 1 1
、あなたはと同様にカラム名を取得することができます
select col.name
from sys.key_constraints kcon
inner join sys.index_columns indcol on indcol.object_id=kcon.parent_object_id
inner join sys.columns col on col.object_id = kcon.parent_object_id
and col.column_id = indcol.column_id
where [email protected]
それとも
:
sys.index_columns
と
sys.columns
に参加することによって、他の主キー、
リンクの質問は全くのUDTに対応していません。他の質問と重複している可能性があります。 –
@PanagiotisKanavos私はそれを求めています。 – Fredou
@PanagiotisKanavos私はそれを指定しています。多くの人が単に重複しているとフラグします。 – Fredou