sys.dm_exec_describe_first_result_set_for_object (Transact-sql)
Bu dinamik yönetimi işlevi bir object_id @ parametre olarak alır ve bu kimliği ile modülün ilk sonucu meta verileri tanımlar Object_id @ belirtilen Kımlığı olabilir bir Transact-SQLsaklı yordamı veya bir Transact-SQLtetikleyici. Eğer başka bir nesneyi (örneğin, görünüm, tablo, işlev veya clr yordam) kimliği, bir hata sonucu hata sütunlarda belirlenir.
sys.dm_exec_describe_first_result_set_for_object tanımı olarak aynı sonucu belirledi sys.dm_exec_describe_first_result_set (Transact-sql)ve benzer sp_describe_first_result_set (Transact-sql).
Transact-SQL Sözdizim Kuralları
Sözdizimi
sys.dm_exec_describe_first_result_set_for_object
( @object_id , @include_browse_information )
Bağımsız değişkenler
@object\_id
Object_id @ a Transact-SQLsaklı yordamı veya bir Transact-SQLtetikleyici. @ object_id türüdür int.@include\_browse\_information
@ include_browse_information 's türü bit. Eğer sorgu göz bir seçenek olarak varsa 1, her sorgu olarak analiz edilir. Ek anahtar sütunları ve kaynak tablo bilgilerini döndürür.
Dönen Tablo
Bu ortak meta sonucunda sonuçları meta verileri ile her sütun için bir satır kümesi döndürülür. Her satır, aşağıdaki bölümde açıklandığı biçimde Sütun nullability ve türünü açıklar. İlk ifade her denetim yolu yoksa, bir sonuç ile sıfır satır kümesi döndürülür.
Sütun adı |
Veri türü |
Açıklama |
---|---|---|
is_hidden |
bit |
Aslında sonuç kümesinde görünmeyen bilgi amaçlı tarama için eklenen bir ek sütunu sütundur olup olmadığını belirtir. |
column_ordinal |
int |
Sonuç kümesinde sütun sıralı konumunu içerir. İlk sütunun konumunu 1 olarak belirlenir. |
name |
sysname |
Bir ad belirlenebilir, sütun adını içerir. Aksi takdirde null olur. |
IS_NULLABLE |
bit |
Sütun NULL, sütun boş değerlere izin vermez, 0 ve 1 veriyorsa, o sütunun boş değerlere izin belirlenemiyorsa 1 değerini içerir. |
system_type_id |
int |
Belirtilen sütun veri türü system_type_id içeren sys.types. Düz-se bile system_type_name sütun null, döndürür clr türleri için bu sütunun değeri 240 döndürecektir. |
system_type_name |
nvarchar(256) |
Veri türü adı içerir. Sütun veri türü için belirtilen bağımsız değişken (örneğin, uzunluk, duyarlık, ölçek) içerir. Veri türü kullanıcı tanımlı ad türü ise, temeldeki sistem türü burada belirtilir. Eğer kullanıcı tanımlı bir clr türü, bu sütunda null döndürdü. |
max_length |
smallint |
Sütun en fazla uzunluğu (bayt cinsinden). -1 = Column data type is varchar(max), nvarchar(max), varbinary(max), or xml. İçin textsütunlar, max_lengthdeğeri 16 veya değeri ayarlanmış olacak sp_tableoption 'text in row'. |
duyarlık |
tinyint |
Sayısal tabanlı varsa sütun duyarlığını. Aksi takdirde 0 döndürür. |
ölçek |
tinyint |
Sayısal tabanlı varsa sütunun ölçek. Aksi takdirde 0 döndürür. |
collation_name |
sysname |
Eğer karakter tabanlı sütun harmanlama adı. Aksi takdirde null döndürür. |
user_type_id |
int |
clr türleri için diğer ad, belirtilen sütun veri türü user_type_id bulunmaktadır sys.types. Aksi takdirde null olur. |
user_type_database |
sysname |
clr ve türleri için diğer ad türü tanımlandığı veritabanı adını içerir. Aksi takdirde null olur. |
user_type_schema |
sysname |
clr ve türleri için diğer ad türü tanımlandığı şemasının adını içerir. Aksi takdirde null olur. |
user_type_name |
sysname |
clr ve türleri için diğer ad türünün adını içerir. Aksi takdirde null olur. |
assembly_qualified_type_name |
nvarchar(4000) |
clr türleri için montaj ve türünü tanımlayan sınıf ismini döndürür. Aksi takdirde null olur. |
xml_collection_id |
int |
Belirtilen sütun veri türü xml_collection_id içeren sys.columns. Döndürülen türü xml Şeması derlemesi ile ilişkili değilse bu sütun null döndürür. |
xml_collection_database |
sysname |
Bu türüyle ilişkili xml şema koleksiyonu tanımlandığı veritabanı içerir. Döndürülen türü xml Şeması derlemesi ile ilişkili değilse bu sütun null döndürür. |
xml_collection_schema |
sysname |
Bu türüyle ilişkili xml şema koleksiyonu içinde tanımlanan şema içerir. Döndürülen türü xml Şeması derlemesi ile ilişkili değilse bu sütun null döndürür. |
xml_collection_name |
sysname |
Bu türüyle ilişkili xml şema koleksiyonu adı bulunur. Döndürülen türü xml Şeması derlemesi ile ilişkili değilse bu sütun null döndürür. |
is_xml_document |
bit |
1 Döndürülen veri türü xml değil ve o türü (bir kök düğüm dahil) tam bir xml belgesi, bir xml parçası olarak karşı olduğu garanti verir). Aksi takdirde 0 döndürür. |
is_case_sensitive |
bit |
1, Değilse 0 ve büyük küçük harf duyarlı dize türü sütun ise döner. |
is_fixed_length_clr_type |
bit |
1, Değilse 0 ve sabit uzunluklu clr türü sütun ise döner. |
Source_Server |
sysname |
Bu sonuç sütunu (uzak bir sunucudan kaynaklanıyorsa) döndürülen kaynak sunucu adı. Görünen adı verilen sys.servers. Döndürür null sütun yerel sunucuda kaynaklanıyorsa ya da onu bulamazsa, hangi sunucunun o kaynaklanan belirledi. Tarama bilgilerini istenirse sadece doldurulur. |
source_database |
sysname |
Bu sonuç sütunu tarafından döndürülen kaynak veritabanının adı. Veritabanı belirlenemiyorsa null döndürüyor. Tarama bilgilerini istenirse sadece doldurulur. |
source_schema |
sysname |
Bu sonuç sütunu tarafından döndürülen kaynak şema adı. Şema belirlenemiyorsa null döndürüyor. Tarama bilgilerini istenirse sadece doldurulur. |
source_table |
sysname |
Bu sonuç sütunu tarafından döndürülen kaynak tablo adı. Tablo belirlenemiyorsa null döndürüyor. Tarama bilgilerini istenirse sadece doldurulur. |
source_column |
sysname |
Bu sonuç sütunu tarafından döndürülen kaynak sütun adı. Sütun belirlenemiyorsa null döndürüyor. Tarama bilgilerini istenirse sadece doldurulur. |
is_identity_column |
bit |
Sütunu kimlik sütunu ve 0 değilse 1 döndürür. Sütun kimlik sütunu olup belirlenemez, null döndürüyor. |
is_part_of_unique_key |
bit |
Sütun (ve birincil benzersiz kısıtlama dahil) benzersiz bir dizin ve 0 bir parçası ise eğer 1 döndürür. Sütunun benzersiz bir dizin parçası olduğu belirlenemiyor, null döndürüyor. Tarama bilgilerini istenirse sadece doldurulur. |
is_updateable |
bit |
Sütun güncelleştirilebilir ise 1 ve 0 verir DEĞIL. Sütun güncelleştirilebilir belirlenemez, null döndürüyor. |
is_computed_column |
bit |
Sütun hesaplanan bir sütun ve 0 değilse 1 döndürür. Sütun hesaplanan bir sütun olduğunu belirlenemez, null döndürüyor. |
is_sparse_column_set |
bit |
Sütun seyrek sütun ve 0 değilse 1 döndürür. Sütun seyrek sütun kümesinin bir parçası olduğunu belirlenemez, null döndürüyor. |
ordinal_in_order_by_list |
smallint |
Pozisyonda bu sütunu order by listesinde döndürür null sütunu order by listesinde görünmüyorsa veya order by listesinde benzersiz olarak belirlenemiyorsa. |
order_by_list_length |
smallint |
order by listesinde uzunluğu. order by listesinde ise veya order by listesinde benzersiz olarak belirlenemiyorsa döndürür null. Not Bu değer sp_describe_first_result_set tarafından döndürülen tüm satırlar için aynı olacaktır. |
order_by_is_descending |
smallint NULL |
Ordinal_in_order_by_list null değilse order_by_is_descending sütun raporları için bu sütunu order by yan tümcesi yönünde. Aksi takdirde null bildirir. |
ERROR_NUMBER |
int |
Işlev tarafından döndürülen hata numarasını içerir. Sütunda hiçbir hata oluşursa null içerir. |
ERROR_SEVERITY |
int |
İşlev tarafından döndürülen önem içerir. Sütunda hiçbir hata oluşursa null içerir. |
ERROR_STATE |
int |
İşlev tarafından döndürülen durum iletisi içerir. Eğer herhangi bir hata oluştu. sütun null içerir. |
hata_iletisi |
nvarchar(4096) |
İşlev tarafından döndürülen ileti içerir. Hata oluştuysa, sütun null içerir. |
error_type |
int |
Döndürülen hata gösteren bir tamsayı içerir. Error_type_desc eşleştirir. Açıklamalar listesinde bakın. |
error_type_desc |
nvarchar(60) |
Döndürülen hata gösteren kısa büyük dizeyi içerir. Error_type eşleştirir. Açıklamalar listesinde bakın. |
Açıklamalar
Bu işlev olarak aynı algoritmayı kullanır sp_describe_first_result_set. Daha fazla bilgi için, bkz. sp_describe_first_result_set (Transact-sql).
Aşağıdaki tabloda hata türleri ve açıklamalarını listeler
error_type |
error_type |
Açıklama |
---|---|---|
1 |
MISC |
Yok aksi açıklanan tüm hataları. |
2 |
SÖZDİZİMİ |
Toplu işleme hatası oluştu. |
3 |
CONFLICTING_RESULTS |
Sonuç, iki olası ilk ifadeleri arasında çakışma nedeniyle belirlenemedi. |
4 |
DYNAMIC_SQL |
Sonuç, ilk sonuç büyük olasılıkla geri dinamik sql nedeniyle belirlenemedi. |
5 |
CLR_PROCEDURE |
Olduğundan bir clr depolanan yordamı potansiyel ilk sonuç geri dönebilirler sonucu belirlenemedi. |
6 |
CLR_TRIGGER |
clr tetikleyici olabilecek ilk sonuç geri çünkü sonuç belirlenemedi. |
7 |
EXTENDED_PROCEDURE |
Genişletilmiş saklı yordam potansiyel ilk sonuç geri çünkü sonuç belirlenemedi. |
8 |
UNDECLARED_PARAMETER |
Bir veya daha fazla sonuç kümesi 's sütun veri türü potansiyel olarak bildirilmemiş bir parametre bağlıdır çünkü sonuç belirlenemedi. |
9 |
ÖZYİNELEME |
Toplu bir özyinelemeli içeren sonuç belirlenemedi. |
10 |
TEMPORARY_TABLE |
Çünkü toplu geçici bir tablo içerir ve tarafından desteklenmeyen sonucu belirlenemedi sp_describe_first_result_set . |
11 |
UNSUPPORTED_STATEMENT |
Toplu işlem tarafından desteklenmeyen bir deyimi içerdiğinden sonucu belirlenemedi sp_describe_first_result_set (örn., getir, geri döndürme vs.). |
12 |
OBJECT_ID_NOT_SUPPORTED |
Object_id @ işleve (yani desteklenmiyor saklı bir yordam değil) |
13 |
OBJECT_ID_DOES_NOT_EXIST |
Object_id @ işleve sistem kataloğunda bulunamadı. |
İzinler
@ Tsql bağımsız yürütme izni gerektirir.
Örnekler
A.Meta veri ve Gözat bilgi olmadan döndürme
Aşağıdaki örnek, adlı bir saklı yordam oluşturur TestProc2Bu iki sonuç kümeleri döndürür. Daha sonra örnek gösteren sys.dm_exec_describe_first_result_set ilk sonuç kümesini ve Gözat bilgileri olmadan yordamda hakkında bilgi verir.
CREATE PROC TestProc2
AS
SELECT object_id, name FROM sys.objects ;
SELECT name, schema_id, create_date FROM sys.objects ;
GO
SELECT * FROM sys.dm_exec_describe_first_result_set_for_object(OBJECT_ID('TestProc2'), 0) ;
SELECT * FROM sys.dm_exec_describe_first_result_set_for_object(OBJECT_ID('TestProc2'), 1) ;
GO
CREATE PROC TestProc2
AS
SELECT object_id, name FROM sys.objects ;
SELECT name, schema_id, create_date FROM sys.objects ;
GO
SELECT * FROM sys.dm_exec_describe_first_result_set_for_object(OBJECT_ID('TestProc2'), 0) ;
SELECT * FROM sys.dm_exec_describe_first_result_set_for_object(OBJECT_ID('TestProc2'), 1) ;
GO
B.Sys.dm_exec_describe_first_result_set_for_object işlevi bir tablo veya Görünüm birleştiren
Aşağıdaki örnek, her ikisini de kullanır sys.proceduresKatalog görünümü ve sys.dm_exec_describe_first_result_set_for_object işlevi sonuç kümeleri içinde tüm saklı yordamlar için meta verileri görüntülemek için AdventureWorks2012 veritabanı.
USE AdventureWorks2012;
GO
SELECT p.name, r.*
FROM sys.procedures AS p
CROSS APPLY sys.dm_exec_describe_first_result_set_for_object(p.object_id, 0) AS r;
GO
USE AdventureWorks2012;
GO
SELECT p.name, r.*
FROM sys.procedures AS p
CROSS APPLY sys.dm_exec_describe_first_result_set_for_object(p.object_id, 0) AS r;
GO
Ayrıca bkz.
Başvuru
sp_describe_first_result_set (Transact-sql)