Aracılığıyla paylaş


Nasıl yapılır: Tam metin anahtar sütunu (Transact-SQL) hakkında sorgulama

CONTAINSTABLE veya freetexttable satır kümesi değerli işlevler sonucu genellikle gerekir temel tablo ile birleştirilecek.Benzersiz anahtar bilmeniz gereken bu gibi durumlarda, sütun adı.Verilen benzersiz dizin tam metin anahtar olarak kullanılan ve tam metin anahtarını tanımlayıcısını elde etmek olup olmadığını sorgulamak sütun.

Tam metin anahtar olarak verilen benzersiz dizin olup olmadığını sorgulamak için kullanılırsütun

  • Kullanımı bir seçin deyim aramak için INDEXPROPERTY işlev.işlev çağrısı OBJECT_ID işlevini kullanın tablonun adını dönüştürmek için (table_name) tablo kimliği benzersiz dizin adı tablosu için belirtin ve belirtmek IsFulltextKey özellik, şu şekilde dizin:

    SELECT INDEXPROPERTY( OBJECT_ID('table_name'), 'index_name',  'IsFulltextKey' );
    

    Dizin, tam metin benzersizliğini zorlamak için kullanılır, bu deyim 1 verir anahtar sütun ve değilse 0.

    Daha fazla bilgi için bu konudaki örnek a, bakın.

Tam metninin tanımlayıcısını bulmak için anahtar sütun

  • Each full-text enabled table has a column that is used to enforce unique rows for the table (the uniquekey column).The TableFulltextKeyColumn property, obtained from the OBJECTPROPERTYEX function, contains the column ID of the unique key column.

    Bu tanımlayıcı elde etmek için bir deyim objectpropertyex çağırmak için kullanabilirsiniz işlev.OBJECT_ID kullanmak işlev tablonun adını dönüştürmek için (table_name) içine tablo kimliği belirtin ve TableFulltextKeyColumn özellik, aşağıdaki gibi:

    SELECT OBJECTPROPERTYEX(OBJECT_ID( 'table_name'), 'TableFulltextKeyColumn' ) AS 'Column Identifier';
    

    Daha fazla bilgi için bkz: "b. örnekleriTam metninin tanımlayıcısını elde etmek anahtar sütun "ve"c.Benzersiz anahtar sütun adı almak " Bu konuda daha sonra.

Örnek

Tüm aşağıdaki örnekleri kullanın Document tablo , AdventureWorks2008R2 veritabanı.

A.Belirli bir dizin tam metin anahtar olarak kullanılıp kullanılmadığını inquiringsütun

Aşağıdaki örnek inquires olup olmadığını PK_Document_DocumentID dizini benzersizlik tam metin için kullanılan anahtar sütunu, aşağıdaki gibi:

USE AdventureWorks2008R2;
GO
SELECT INDEXPROPERTY ( OBJECT_ID('Production.Document'), 'PK_Document_DocumentID',  'IsFulltextKey' )

Bu örnek 1 verir PK_Document_DocumentID dizini benzersizlik tam metin için kullanılan anahtar sütun.Aksi halde 0 veya null döndürür.null kullandığınız geçersiz dizin adı, dizin adı tabloya karşılık, tablo, vb. veya var anlamına gelir.

B.Tam metninin tanımlayıcısını elde etmek anahtar sütun

Aşağıdaki örnek, tam metin tanımlayıcısını döndürür anahtar sütun veya null.null, kullandığınız geçersiz dizin adı, dizin adı tabloya karşılık, tablo, vb. veya var olduğunu gösterir.

USE AdventureWorks2008R2;
GO
SELECT OBJECTPROPERTYEX(OBJECT_ID('Production.Document'), 'TableFulltextKeyColumn');
GO

C.Benzersiz anahtar alma sütun adı

Aşağıdaki örnek benzersiz tanımlayıcısını kullanın gösterilmiştir anahtar sütun adını programlı olarak elde edilir.

USE AdventureWorks2008R2;
GO
DECLARE @key_column sysname;
SET @key_column = Col_Name(Object_Id('Production.Document'),
ObjectProperty(Object_id('Production.Document'),
'TableFulltextKeyColumn') 
);
SELECT @key_column AS 'Unique Key Column';
GO

Bu örnek bir sonuç küme adlı sütun döndürür Unique Key Column, benzersiz anahtar sütunu adını içeren tek bir satır görüntüler Document tablo, DocumentID.Unutmayın, bu sorgu geçersiz dizin adı bulunan dizin adı tabloya karşılık, tablo yoktu ve diğerleri, null döndürür.