Aracılığıyla paylaş


NESNE ÖZELLIĞI (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnaliz Platformu Sistemi (PDW)Microsoft Fabric'teki SQL analiz uç noktasıMicrosoft Fabric'teki ambarMicrosoft Fabric'teki SQL veritabanı

Geçerli veritabanındaki şema kapsamlı nesneler hakkında bilgi döndürür. Şema kapsamlı nesnelerin listesi için bkz. sys.objects (Transact-SQL). Bu işlev, veri tanımı dili (DDL) tetikleyicileri ve olay bildirimleri gibi şema kapsamı olmayan nesneler için kullanılamaz.

Transact-SQL söz dizimi kuralları

Sözdizimi

OBJECTPROPERTY ( ID , property )

Arguments

ID

Geçerli veritabanındaki nesnenin kimliğini temsil eden ifade. Idint'dir ve geçerli veritabanı bağlamında şema kapsamlı bir nesne olduğu varsayılır.

özellik

Kimlik tarafından belirtilen nesne için döndürülecek bilgileri temsil eden ifade. özelliği aşağıdaki değerlerden biri olabilir.

Uyarı

Aksi belirtilmedikçe, NULLözellik geçerli bir özellik adı olmadığında, kimlik geçerli bir nesne kimliği olmadığında, kimlik belirtilen özellik için desteklenmeyen bir nesne türündeyse veya çağıranın nesnenin meta verilerini görüntüleme izni olmadığında döndürülür.

Özellik adı Nesne türü Döndürülen açıklama ve değerler
CnstIsClustKey Kısıtlama PRIMARY KEY kümelenmiş dizinle kısıtlama.

1 = Doğru

0 = Yanlış
CnstIsColumn Kısıtlama CHECK, DEFAULTveya FOREIGN KEY tek bir sütunda kısıtlama.

1 = Doğru

0 = Yanlış
CnstIsDeleteCascade Kısıtlama FOREIGN KEY seçeneğiyle kısıtlar ON DELETE CASCADE .

1 = Doğru

0 = Yanlış
CnstIsDisabled Kısıtlama Devre dışı kısıtlaması.

1 = Doğru

0 = Yanlış
CnstIsNonclustKey Kısıtlama PRIMARY KEY veya UNIQUE bir kümelenmemiş dizinle kısıtlama.

1 = Doğru

0 = Yanlış
CnstIsNotRepl Kısıtlama Kısıtlama, anahtar sözcükler kullanılarak NOT FOR REPLICATION tanımlanır.

1 = Doğru

0 = Yanlış
CnstIsNotTrusted Kısıtlama Kısıtlama mevcut satırları denetlemeden etkinleştirildi; bu nedenle, kısıtlama tüm satırlar için tutmayabilir.

1 = Doğru

0 = Yanlış
CnstIsUpdateCascade Kısıtlama FOREIGN KEY seçeneğiyle kısıtlar ON UPDATE CASCADE .

1 = Doğru

0 = Yanlış
ExecIsAfterTrigger Tetikleyici AFTER tetiklemek.

1 = Doğru

0 = Yanlış
ExecIsAnsiNullsOn Transact-SQL işlevi, Transact-SQL yordam, Transact-SQL tetikleyici, görünüm Oluşturma zamanında ayarı ANSI_NULLS .

1 = Doğru

0 = Yanlış
ExecIsDeleteTrigger Tetikleyici DELETE tetiklemek.

1 = Doğru

0 = Yanlış
ExecIsFirstDeleteTrigger Tetikleyici tabloya karşı bir DELETE yürütülürken ilk tetikleyici tetiklenir.

1 = Doğru

0 = Yanlış
ExecIsFirstInsertTrigger Tetikleyici tablo üzerinde bir INSERT yürütülürken ilk tetikleyici tetiklenir.

1 = Doğru

0 = Yanlış
ExecIsFirstUpdateTrigger Tetikleyici tablo üzerinde bir UPDATE yürütülürken ilk tetikleyici tetiklenir.

1 = Doğru

0 = Yanlış
ExecIsInsertTrigger Tetikleyici INSERT tetiklemek.

1 = Doğru

0 = Yanlış
ExecIsInsteadOfTrigger Tetikleyici INSTEAD OF tetiklemek.

1 = Doğru

0 = Yanlış
ExecIsLastDeleteTrigger Tetikleyici Tablo üzerinde bir DELETE yürütülürken tetiklenen son tetikleyici.

1 = Doğru

0 = Yanlış
ExecIsLastInsertTrigger Tetikleyici Bir tablo üzerinde yürütülürken INSERT tetiklenen son tetikleyici.

1 = Doğru

0 = Yanlış
ExecIsLastUpdateTrigger Tetikleyici Bir tablo üzerinde yürütülürken UPDATE tetiklenen son tetikleyici.

1 = Doğru

0 = Yanlış
ExecIsQuotedIdentOn Transact-SQL işlevi, Transact-SQL yordam, Transact-SQL tetikleyici, görünüm Oluşturma zamanında ayarı QUOTED_IDENTIFIER .

1 = Doğru

0 = Yanlış
ExecIsStartup Procedure Başlangıç yordamı.

1 = Doğru

0 = Yanlış
ExecIsTriggerDisabled Tetikleyici Devre dışı tetikleyici.

1 = Doğru

0 = Yanlış
ExecIsTriggerNotForRepl Tetikleyici Tetikleyici olarak NOT FOR REPLICATIONtanımlanmıştır.

1 = Doğru

0 = Yanlış
ExecIsUpdateTrigger Tetikleyici UPDATE tetiklemek.

1 = Doğru

0 = Yanlış
ExecIsWithNativeCompilation Transact-SQL Yordamı için geçerlidir: SQL Server 2014 (12.x) ve sonraki sürümler.

Yordam yerel olarak derlenmiş.

1 = Doğru

0 = Yanlış

Temel veri türü: int
HasAfterTrigger Tablo veya görünüm Tablo veya görünümün tetikleyicisi vardır AFTER .

1 = Doğru

0 = Yanlış
HasDeleteTrigger Tablo veya görünüm Tablo veya görünümün tetikleyicisi vardır DELETE .

1 = Doğru

0 = Yanlış
HasInsertTrigger Tablo veya görünüm Tablo veya görünümün tetikleyicisi vardır INSERT .

1 = Doğru

0 = Yanlış
HasInsteadOfTrigger Tablo veya görünüm Tablo veya görünümün tetikleyicisi vardır INSTEAD OF .

1 = Doğru

0 = Yanlış
HasUpdateTrigger Tablo veya görünüm Tablo veya görünümün tetikleyicisi vardır UPDATE .

1 = Doğru

0 = Yanlış
IsAnsiNullsOn Transact-SQL işlevi, Transact-SQL yordam, tablo, Transact-SQL tetikleyici, görünüm Tablo için ANSI NULLS seçenek ayarının olduğunu ONbelirtir. olduğunda ANSI NULLSON, bir NULL değerle yapılan tüm karşılaştırmalar olarak UNKNOWNdeğerlendirilir. Bu ayar, tablo mevcut olduğu sürece hesaplanan sütunlar ve kısıtlamalar da dahil olmak üzere tablo tanımındaki tüm ifadeler için geçerlidir.

1 = Doğru

0 = Yanlış
IsCheckCnst Şema kapsamlı herhangi bir nesne CHECK kısıtlama.

1 = Doğru

0 = Yanlış
IsConstraint Şema kapsamlı herhangi bir nesne Bir sütun veya tablodaki tek bir sütun CHECK, DEFAULTveya FOREIGN KEY kısıtlamadır.

1 = Doğru

0 = Yanlış
IsDefault Şema kapsamlı herhangi bir nesne için geçerlidir: SQL Server 2008 (10.0.x) ve sonraki sürümler.

Bağlı varsayılan.

1 = Doğru

0 = Yanlış
IsDefaultCnst Şema kapsamlı herhangi bir nesne DEFAULT kısıtlama.

1 = Doğru

0 = Yanlış
IsDeterministic İşlev veya görünüm İşlevin veya görünümün determinizm özelliği.

1 = Deterministik

0 = Belirleyici Değil
IsEncrypted Transact-SQL işlevi, Transact-SQL yordam, tablo, Transact-SQL tetikleyici, görünüm Modül deyiminin özgün metninin karartılmış biçime dönüştürüldüğünü gösterir. Sql Server 2005'teki (9.x) katalog görünümlerinden hiçbirinde gizlemenin çıktısı doğrudan görünmez. Sistem tablolarına veya veritabanı dosyalarına erişimi olmayan kullanıcılar, karartılmış metni alamaz. Ancak metin, veritabanı yöneticileri için Tanılama bağlantısı üzerinden sistem tablolarına erişebilen veya veritabanı dosyalarına doğrudan erişebilen kullanıcılar tarafından kullanılabilir. Ayrıca, sunucu işlemine hata ayıklayıcı ekleyebilen kullanıcılar, özgün yordamı çalışma zamanında bellekten alabilir.

1 = Şifrelenmiş

0 = Şifrelenmemiş

Temel veri türü: int
IsExecuted Şema kapsamlı herhangi bir nesne Nesne yürütülebilir (görünüm, yordam, işlev veya tetikleyici).

1 = Doğru

0 = Yanlış
IsExtendedProc Şema kapsamlı herhangi bir nesne Genişletilmiş yordam.

1 = Doğru

0 = Yanlış
IsForeignKey Şema kapsamlı herhangi bir nesne FOREIGN KEY kısıtlama.

1 = Doğru

0 = Yanlış
IsIndexed Tablo veya görünüm Dizini olan tablo veya görünüm.

1 = Doğru

0 = Yanlış
IsIndexable Tablo veya görünüm Dizinin oluşturulabileceği tablo veya görünüm.

1 = Doğru

0 = Yanlış
IsInlineFunction İşlev Satır içi işlevi.

1 = Satır içi işlevi

0 = Satır içi değil işlevi
IsMSShipped Şema kapsamlı herhangi bir nesne SQL Server yüklemesi sırasında oluşturulan nesne.

1 = Doğru

0 = Yanlış
IsPrimaryKey Şema kapsamlı herhangi bir nesne PRIMARY KEY kısıtlama.

1 = Doğru

0 = Yanlış

NULL = İşlev değil veya nesne kimliği geçerli değil.
IsProcedure Şema kapsamlı herhangi bir nesne Prosedür.

1 = Doğru

0 = Yanlış
IsQuotedIdentOn Transact-SQL işlevi, Transact-SQL yordamı, tablo, Transact-SQL tetikleyicisi, görünümü, kısıtlaması, CHECKDEFAULT tanımı Nesne için tırnak içinde tanımlayıcı ayarının olduğunu ONbelirtir. Bu, çift tırnak işaretlerinin nesne tanımında yer alan tüm ifadelerdeki tanımlayıcıları sınırlandırtığı anlamına gelir.

1 = ON

0 = OFF
IsQueue Şema kapsamlı herhangi bir nesne Hizmet Aracısı Kuyruğu

1 = Doğru

0 = Yanlış
IsReplProc Şema kapsamlı herhangi bir nesne Çoğaltma yordamı.

1 = Doğru

0 = Yanlış
IsRule Şema kapsamlı herhangi bir nesne İlişkili kural.

1 = Doğru

0 = Yanlış
IsScalarFunction İşlev Skaler değerli işlev.

1 = Skaler değerli işlev

0 = Skaler değerli olmayan işlev
IsSchemaBound İşlev veya görünüm kullanılarak SCHEMABINDINGoluşturulan bir şema bağlı işlevi veya görünümü.

1 = Şemaya bağlı

0 = Şemaya bağlı değil.
IsSystemTable Tablo Sistem tablosu.

1 = Doğru

0 = Yanlış
IsSystemVerified Nesne SQL Server, nesnenin determinizm ve duyarlık özelliklerini doğrulayabilir.

1 = Doğru

0 = Yanlış
IsTable Tablo Masa.

1 = Doğru

0 = Yanlış
IsTableFunction İşlev Tablo değerli işlev.

1 = Tablo değerli işlev

0 = Tablo değerli olmayan işlev
IsTrigger Şema kapsamlı herhangi bir nesne Tetiklemek.

1 = Doğru

0 = Yanlış
IsUniqueCnst Şema kapsamlı herhangi bir nesne UNIQUE kısıtlama.

1 = Doğru

0 = Yanlış
IsUserTable Tablo Kullanıcı tanımlı tablo.

1 = Doğru

0 = Yanlış
IsView View Görünüm.

1 = Doğru

0 = Yanlış
OwnerId Şema kapsamlı herhangi bir nesne Nesnenin sahibi.

Not: Şema sahibinin nesne sahibi olması şart değildir. Örneğin, alt nesneler ( parent_object_id null olmayan nesneler) her zaman üst öğeyle aynı sahip kimliğini döndürür.

Null olmayan = Nesne sahibinin veritabanı kullanıcı kimliği.
SchemaId Şema kapsamlı herhangi bir nesne Nesnenin ait olduğu şemanın şema kimliği.
TableDeleteTrigger Tablo Tablonun tetikleyicisi vardır DELETE .

>1 = Belirtilen türdeki ilk tetikleyicinin kimliği.
TableDeleteTriggerCount Tablo Tabloda belirtilen sayıda DELETE tetikleyici vardır.

>0 = Tetikleyici sayısı DELETE .
TableFullTextMergeStatus Tablo için geçerlidir: SQL Server 2008 (10.0.x) ve sonraki sürümler.

Şu anda birleştirmede olan tam metin dizinine sahip bir tablonun olup olmadığı.

0 = Tablonun tam metin dizini yok veya tam metin dizini birleştirmede değil.

1 = Tam metin dizini birleştiriliyor.
TableFullTextBackgroundUpdateIndexOn Tablo için geçerlidir: SQL Server 2008 (10.0.x) ve sonraki sürümler.

Tabloda tam metin arka plan güncelleştirme dizini (otomatik değiştirme izleme) etkindir.

1 = DOĞRU

0 = YANLIŞ
TableFulltextCatalogId Tablo için geçerlidir: SQL Server 2008 (10.0.x) ve sonraki sürümler.

Tablonun tam metin dizin verilerinin bulunduğu tam metin kataloğunun kimliği.

Sıfır dışı = Tam metin dizinli tablodaki satırları tanımlayan benzersiz dizinle ilişkili tam metin katalog kimliği.

0 = Tablonun tam metin dizini yok.
TableFulltextChangeTrackingOn Tablo için geçerlidir: SQL Server 2008 (10.0.x) ve sonraki sürümler.

Tabloda tam metin değişiklik izleme etkindir.

1 = DOĞRU

0 = YANLIŞ
TableFulltextDocsProcessed Tablo için geçerlidir: SQL Server 2008 (10.0.x) ve sonraki sürümler.

Tam metin dizini oluşturmanın başlangıcından bu yana işlenen satır sayısı. Tam metin araması için dizine alınan bir tabloda, bir satırın tüm sütunları dizine eklenecek bir belgenin parçası olarak kabul edilir.

0 = Etkin gezinme veya tam metin dizin oluşturma işlemi tamamlanmadı.

> 0 = Aşağıdakilerden biri (A veya B): A) Tam, Artımlı veya El ile değişiklik izleme popülasyonunun başlangıcından bu yana ekleme veya güncelleştirme işlemleri tarafından işlenen belge sayısı. B) Arka plan güncelleştirme dizini popülasyonuyla değişiklik izleme etkinleştirildiğinden, tam metin dizini şeması değiştirildiğinden, tam metin kataloğu yeniden oluşturulduğundan veya SQL Server örneği yeniden başlatıldığından, ekleme veya güncelleştirme işlemleri tarafından işlenen satır sayısı.

NULL = Tabloda tam metin dizini yok.

Bu özellik silinen satırları izlemez veya saymıyor.
TableFulltextFailCount Tablo için geçerlidir: SQL Server 2008 (10.0.x) ve sonraki sürümler.

Arama Full-Text dizine alınmayan satır sayısı.

0 = Tamamlanan nüfus.

> 0 = Aşağıdakilerden biri (A veya B): A) Tam, Artımlı ve El ile Güncelleştirme değişiklik izleme popülasyonunun başlangıcından bu yana dizine alınmamış belge sayısı. B) Arka plan güncelleştirme diziniyle değişiklik izleme, popülasyonun başlangıcından bu yana dizine alınmamış satır sayısı veya popülasyonun yeniden başlatılması için. Bunun nedeni şema değişikliği, kataloğun yeniden oluşturulması, sunucunun yeniden başlatılması vb. olabilir.

NULL = Tabloda tam metin dizini yok.
TableFulltextItemCount Tablo için geçerlidir: SQL Server 2008 (10.0.x) ve sonraki sürümler.

Başarıyla tam metin dizini oluşturulmuş satır sayısı.
TableFulltextKeyColumn Tablo için geçerlidir: SQL Server 2008 (10.0.x) ve sonraki sürümler.

Tam metin dizini tanımına katılan tek sütunlu benzersiz dizinle ilişkili sütunun kimliği.

0 = Tablonun tam metin dizini yok.
TableFulltextPendingChanges Tablo için geçerlidir: SQL Server 2008 (10.0.x) ve sonraki sürümler.

İşlenmek üzere bekleyen değişiklik izleme girdilerinin sayısı.

0 = değişiklik izleme etkinleştirilmedi.

NULL = Tabloda tam metin dizini yok.
TableFulltextPopulateStatus Tablo için geçerlidir: SQL Server 2008 (10.0.x) ve sonraki sürümler.

0 = Boşta.

1 = Tam popülasyon devam ediyor.

2 = Artımlı popülasyon devam ediyor.

3 = İzlenen değişikliklerin yayılması devam ediyor.

4 = Otomatik değiştirme izleme gibi arka plan güncelleştirme dizini devam ediyor.

5 = Tam metin dizin oluşturma kısıtlandı veya duraklatıldı.
TableHasActiveFulltextIndex Tablo için geçerlidir: SQL Server 2008 (10.0.x) ve sonraki sürümler.

Tablonun etkin bir tam metin dizini vardır.

1 = Doğru

0 = Yanlış
TableHasCheckCnst Tablo Tabloda bir CHECK kısıtlama vardır.

1 = Doğru

0 = Yanlış
TableHasClustIndex Tablo Tabloda kümelenmiş dizin vardır.

1 = Doğru

0 = Yanlış
TableHasDefaultCnst Tablo Tabloda bir DEFAULT kısıtlama vardır.

1 = Doğru

0 = Yanlış
TableHasDeleteTrigger Tablo Tablonun tetikleyicisi vardır DELETE .

1 = Doğru

0 = Yanlış
TableHasForeignKey Tablo Tabloda bir FOREIGN KEY kısıtlama vardır.

1 = Doğru

0 = Yanlış
TableHasForeignRef Tablo Tabloya bir FOREIGN KEY kısıtlama tarafından başvurulur.

1 = Doğru

0 = Yanlış
TableHasIdentity Tablo Tabloda bir kimlik sütunu vardır.

1 = Doğru

0 = Yanlış
TableHasIndex Tablo Tablo herhangi bir türde dizine sahiptir.

1 = Doğru

0 = Yanlış
TableHasInsertTrigger Tablo Nesnenin tetikleyicisi INSERT var.

1 = Doğru

0 = Yanlış
TableHasNonclustIndex Tablo Tabloda bir kümelenmemiş dizin var.

1 = Doğru

0 = Yanlış
TableHasPrimaryKey Tablo Tabloda birincil anahtar vardır.

1 = Doğru

0 = Yanlış
TableHasRowGuidCol Tablo Tabloda ROWGUIDCOL belirleyici sütunu için bir bulunur.

1 = Doğru

0 = Yanlış
TableHasTextImage Tablo Tabloda metin, ntext veya resim sütunu vardır.

1 = Doğru

0 = Yanlış
TableHasTimestamp Tablo Tabloda zaman damgası sütunu vardır.

1 = Doğru

0 = Yanlış
TableHasUniqueCnst Tablo Tabloda bir UNIQUE kısıtlama vardır.

1 = Doğru

0 = Yanlış
TableHasUpdateTrigger Tablo Nesnenin tetikleyicisi UPDATE var.

1 = Doğru

0 = Yanlış
TableHasVarDecimalStorageFormat Tablo Tablo , değişken depolama biçimi için etkinleştirilmiştir.

1 = Doğru

0 = Yanlış
TableInsertTrigger Tablo Tablonun tetikleyicisi vardır INSERT .

>1 = Belirtilen türdeki ilk tetikleyicinin kimliği.
TableInsertTriggerCount Tablo Tabloda belirtilen sayıda INSERT tetikleyici vardır.

>0 = Tetikleyici sayısı INSERT .
TableIsFake Tablo Tablo gerçek değil. SQL Server Veritabanı Altyapısı tarafından isteğe bağlı olarak dahili olarak gerçekleştirilir.

1 = Doğru

0 = Yanlış
TableIsLockedOnBulkLoad Tablo Tablo bcp veya BULK INSERT iş nedeniyle kilitlendi.

1 = Doğru

0 = Yanlış
TableIsMemoryOptimized Tablo için geçerlidir: SQL Server 2014 (12.x) ve sonraki sürümler.

Tablo bellek için iyileştirilmiştir

1 = Doğru

0 = Yanlış

Temel veri türü: int

Daha fazla bilgi için bkz. OLTP'ye genel bakış ve kullanım senaryolarıIn-Memory.
TableIsPinned Tablo Tablo, veri önbelleğinde tutulacak şekilde sabitlenir.

0 = Yanlış

Bu özellik SQL Server 2005 (9.x) ve sonraki sürümlerde desteklenmez.
TableTextInRowLimit Tablo Satırdaki metin için izin verilen en fazla bayt sayısı.

Satırdaki metin seçeneği ayarlanmadıysa 0.
TableUpdateTrigger Tablo Tablonun tetikleyicisi vardır UPDATE .

> 1 = Belirtilen türdeki ilk tetikleyicinin kimliği.
TableUpdateTriggerCount Tablo Tabloda belirtilen sayıda UPDATE tetikleyici var.

> 0 = Tetikleyici sayısı UPDATE .
TableHasColumnSet Tablo Tabloda bir sütun kümesi vardır.

0 = Yanlış

1 = Doğru

Daha fazla bilgi için bkz. Sütun kümelerini kullanma.
TableTemporalType Tablo için geçerlidir: SQL Server 2016 (13.x) ve sonraki sürümler.

Tablonun türünü belirtir.

0 = zamana bağlı olmayan tablo

1 = sistem sürümüne alınan tablo için geçmiş tablosu

2 = sistem sürümüne dayalı zamana bağlı tablo

Dönüş türleri

int

Exceptions

Hata durumunda veya çağıranın nesneyi görüntüleme izni yoksa döndürür NULL .

Permissions

Bir kullanıcı yalnızca kullanıcıya ait olan veya kullanıcıya izin verilen güvenli hale getirilebilir öğeler meta verilerini görüntüleyebilir. Bu, kullanıcının nesne üzerinde herhangi bir izni yoksa döndürme OBJECTPROPERTY gibi NULL meta veri yayan yerleşik işlevlerin döndürüleceği anlamına gelir. Daha fazla bilgi için bkz. Meta veri görünürlüğü yapılandırması.

Açıklamalar

Veritabanı Altyapısı , object_id geçerli veritabanı bağlamında olduğunu varsayar. Başka bir veritabanındaki bir object_id başvuran sorgu, yanlış sonuçlar döndürür veya döndürür NULL . Örneğin, aşağıdaki sorguda geçerli veritabanı bağlamı veritabanıdır master . Veritabanı Altyapısı, sorguda belirtilen veritabanı yerine bu veritabanında belirtilen object_id için özellik değerini döndürmeye çalışır. Görünüm vEmployee veritabanında olmadığından master sorgu yanlış sonuçlar döndürüyor.

USE master;
GO
SELECT OBJECTPROPERTY(OBJECT_ID(N'AdventureWorks2022.HumanResources.vEmployee'), 'IsView');
GO

OBJECTPROPERTY(view_id, 'IsIndexable') IsIndexable özelliğinin değerlendirilmesi görünüm tanımının ayrıştırılması, normalleştirme ve kısmi iyileştirme gerektirdiğinden önemli bilgisayar kaynaklarını kullanabilir. IsIndexable özelliği dizine alınabilen tabloları veya görünümleri tanımlasa da, belirli dizin anahtarı gereksinimleri karşılanmazsa dizinin gerçek oluşturma işlemi yine başarısız olabilir. Daha fazla bilgi için bkz . CREATE INDEX (Transact-SQL).

OBJECTPROPERTY(table_id, 'TableHasActiveFulltextIndex') , dizin oluşturma için bir tablonun en az bir sütunu eklendiğinde (true) değerini 1 döndürür. Tam metin dizin oluşturma, ilk sütun dizin oluşturma için eklendiğinde popülasyon için etkin hale gelir.

Tablo oluşturulduğunda, QUOTED IDENTIFIER seçenek tablo oluşturulduğunda olarak ayarlansa ON bile her zaman tablonun meta verilerinde olduğu gibi OFF depolanır. Bu nedenle, OBJECTPROPERTY(table_id, 'IsQuotedIdentOn') her zaman (true) değerini 1 döndürür.

Örnekler

A. Nesnenin tablo olduğunu doğrulama

Aşağıdaki örnek, veritabanında bir tablo olup olmadığını UnitMeasure sınar AdventureWorks2025 .

USE AdventureWorks2022;
GO
IF OBJECTPROPERTY (OBJECT_ID(N'Production.UnitMeasure'),'ISTABLE') = 1
   PRINT 'UnitMeasure is a table.'
ELSE IF OBJECTPROPERTY (OBJECT_ID(N'Production.UnitMeasure'),'ISTABLE') = 0
   PRINT 'UnitMeasure is not a table.'
ELSE IF OBJECTPROPERTY (OBJECT_ID(N'Production.UnitMeasure'),'ISTABLE') IS NULL
   PRINT 'ERROR: UnitMeasure is not a valid object.';
GO

B. Skaler değerli kullanıcı tanımlı bir işlevin belirlenici olduğunu doğrulayın

Aşağıdaki örnek, ufnGetProductDealerPrice değeri döndüren kullanıcı tanımlı skaler değerli işlevinin belirleyici olup olmadığını test eder.

USE AdventureWorks2022;
GO
SELECT OBJECTPROPERTY(OBJECT_ID('dbo.ufnGetProductDealerPrice'), 'IsDeterministic');
GO

Sonuç kümesi bunun ufnGetProductDealerPrice belirleyici bir işlev olmadığını gösterir.

-----
0

C: Belirli bir şemaya ait tabloları bulma

Aşağıdaki örnek şemadaki dbo tüm tabloları döndürür.

-- Uses AdventureWorks

SELECT schema_name(o.schema_id), o.name, o.object_id, o.type_desc
FROM sys.objects AS o
WHERE OBJECTPROPERTY(o.object_id, N'SchemaId') = SCHEMA_ID(N'dbo')
ORDER BY o.type_desc, o.name;
GO

Örnekler: Azure Synapse Analytics ve Analytics Platform Sistemi (PDW)

D: Nesnenin tablo olduğunu doğrulama

Aşağıdaki örnekdbo.DimReseller veritabanında bir tablo olup olmadığını test ediyor.

-- Uses AdventureWorks

IF OBJECTPROPERTY (OBJECT_ID(N'dbo.DimReseller'),'ISTABLE') = 1
   SELECT 'DimReseller is a table.'
ELSE
   SELECT 'DimReseller is not a table.';
GO