sys.dm_exec_describe_first_result_set (Transact-sql)
Bu dinamik yönetimi işlevi alır bir Transact-SQLdeyimi parametre olarak ve ilk sonuç kümesini ifade için meta verileri açıklar.
sys.dm_exec_describe_first_result_set tanımı olarak aynı sonucu belirledi sys.dm_exec_describe_first_result_set_for_object (Transact-sql)ve benzer sp_describe_first_result_set (Transact-sql).
Transact-SQL Sözdizim Kuralları
Sözdizimi
sys.dm_exec_describe_first_result(@tsql, @params, @include_browse_information)
Bağımsız değişkenler
@tsql
Bir veya daha fazla Transact-SQLdeyimleri. Transact-SQL_batch may be nvarchar(n) or nvarchar(max).@params
@ params sağlar bir bildiri dize parametreleri için Transact-SQLtoplu, sp_executesql için benzer. Parametreleri olabilir nvarchar(n)ya nvarchar(max).İçinde katıştırılmış tüm parametreleri tanımları içeren bir dizedir Transact-SQL_batch. Unicode sabit ya da değişken Unicode dize olmalıdır. Her parametre tanımı, parametre adı ve veri türü oluşur. n ek parametre tanımları gösteren bir yer tutucudur. Stmt içinde belirtilen her parametre @ params içinde tanımlanmalıdır. Eğer Transact-SQL@ params gerekli değil, bildirimi veya toplu deyiminde parametre içermiyor. Bu parametre için varsayılan değer null olur.
@include\_browse\_information
Eğer sorgu göz bir seçenek olarak varsa 1, her sorgu olarak analiz edilir. Ek anahtar sütunları ve kaynak tablo bilgileri döndürülür.
Dönen Tablo
Bu ortak meta sonucunda kümesi döndürülür. Sonuçları meta veri her sütun için bir satır, aşağıdaki tabloda gösterildiği 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 tarama ve bilgilendirme amacıyla eklenen bir ek sütunu sütundur olduğunu 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. Yoksa null içerir. |
IS_NULLABLE |
bit |
Aşağıdaki değerleri 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) |
Sütun veri türü için belirtilen bağımsız değişken (örneğin, uzunluk, duyarlık, ölçek) ve adı içerir. Veri türü kullanıcı tanımlı ad türü ise, temeldeki sistem türü burada belirtilir. Veri türü kullanıcı tanımlı bir clr türü ise, 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 takma, user_type_id sys.types belirtilen sütun veri türü bulunmaktadır. 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 |
Sys.columns belirtilen sütun veri türü xml_collection_id 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_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 |
Büyük küçük harf duyarlı dize türü sütun ise 1 döndürür. Değilse 0 döndürür. |
is_fixed_length_clr_type |
bit |
Sütunun sabit uzunlukta clr türü ise 1 döndürür. Değilse 0 döndürür. |
Source_Server |
sysname |
(Uzak bir sunucudan kaynaklanıyorsa) 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 |
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 |
Değilse, sütun parçası (ve birincil benzersiz kısıtlamaları dahil) benzersiz bir dizin ve 0 ise 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 ise 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 |
ihe bu sütunu order by listesinde konumudur. Sütunu order by listesinde görünmüyorsa veya order by listesinde benzersiz olarak belirlenemiyorsa döndürür null. |
order_by_list_length |
smallint |
order by listesinde uzunluğu. order by listesinde benzersiz olarak belirlenemiyorsa veya order by listesinde ise, boş döndürülür. 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. Hata oluştuysa, sütun null içerir. |
ERROR_SEVERITY |
int |
İşlev tarafından döndürülen önem içerir. Hata oluştuysa, sütun null içerir. |
ERROR_STATE |
int |
Durum iletisi içerir. Işlev tarafından döndürülen. Hata oluştuysa, 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_TYPE_NOT_SUPPORTED |
Object_id @ işleve (yani desteklenmiyor saklı bir yordam değil) |
13 |
OBJECT_DOES_NOT_EXIST |
Object_id @ işleve sistem kataloğunda bulunamadı. |
İzinler
@ Tsql bağımsız yürütme izni gerektirir.
Örnekler
Ek örnekler konusunda sp_describe_first_result_set (Transact-sql)kullanmak için adapte sys.dm_exec_describe_first_result_set.
A.Tek bir Transact-sql deyimi hakkında bilgi döndüren
Aşağıdaki kod sonuçları hakkında bilgi verir bir Transact-SQLdeyimi.
USE AdventureWorks2012;
GO
SELECT * FROM sys.dm_exec_describe_first_result_set
(N'SELECT object_id, name, type_desc FROM sys.indexes', null, 0) ;
USE AdventureWorks2012;
GO
SELECT * FROM sys.dm_exec_describe_first_result_set
(N'SELECT object_id, name, type_desc FROM sys.indexes', null, 0) ;
B.Bir prosedür hakkında bilgi döndüren
Aşağıdaki örnek, adlı bir saklı yordam oluşturur pr_TestProcBu iki sonuç kümeleri döndürür. Daha sonra örnek gösteren sys.dm_exec_describe_first_result_set ilk sonuç kümesini yordamı hakkında bilgi verir.
USE AdventureWorks2012;
GO
CREATE PROC Production.TestProc
AS
SELECT Name, ProductID, Color FROM Production.Product ;
SELECT Name, SafetyStockLevel, SellStartDate FROM Production.Product ;
GO
SELECT * FROM sys.dm_exec_describe_first_result_set
('Production.TestProc', NULL, 0) ;
USE AdventureWorks2012;
GO
CREATE PROC Production.TestProc
AS
SELECT Name, ProductID, Color FROM Production.Product ;
SELECT Name, SafetyStockLevel, SellStartDate FROM Production.Product ;
GO
SELECT * FROM sys.dm_exec_describe_first_result_set
('Production.TestProc', NULL, 0) ;
C.Birden çok deyimleri içeren bir toplu işleminden meta veri döndürme
Aşağıdaki örnek, iki içeren toplu olarak değerlendirilir. Transact-SQLdeyimleri. İlk sonuç kümesinde döndürülen sonuç kümesi açıklar.
USE AdventureWorks2012;
GO
SELECT * FROM sys.dm_exec_describe_first_result_set(
N'SELECT CustomerID, TerritoryID, AccountNumber FROM Sales.Customer WHERE CustomerID = @CustomerID;
SELECT * FROM Sales.SalesOrderHeader;',
N'@CustomerID int', 0) AS a;
GO
USE AdventureWorks2012;
GO
SELECT * FROM sys.dm_exec_describe_first_result_set(
N'SELECT CustomerID, TerritoryID, AccountNumber FROM Sales.Customer WHERE CustomerID = @CustomerID;
SELECT * FROM Sales.SalesOrderHeader;',
N'@CustomerID int', 0) AS a;
GO
Ayrıca bkz.
Başvuru
sp_describe_first_result_set (Transact-sql)
sp_describe_undeclared_parameters (Transact-sql)
sys.dm_exec_describe_first_result_set_for_object (Transact-sql)