Share via


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).

Konu bağlantısı simgesi 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:

  • Sütun boş değerlere izin veriyorsa, 1 değeri.

  • Sütunun boş değerlere izin vermez, 0 değeri.

  • Sütunun boş değerlere izin belirlenemez ise 1 değeri.

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)