Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Microsoft Fabric'te SQL veritabanı
Bu dinamik yönetim fonksiyonu, bir parametre olarak a'yı @object_id alır ve o ID'ye sahip modül için ilk sonuç metaverisini tanımlar. Belirtilen Transact-SQL @object_id bir işlemin ID'si veya Transact-SQL tetikleyicisi olabilir. Eğer bu, başka herhangi bir nesnenin (örneğin bir görünüm, tablo, fonksiyon veya CLR prosedürü gibi) ID'si ise, sonucun hata sütunlarında bir hata belirtilir.
sys.dm_exec_describe_first_result_set_for_object , sys.dm_exec_describe_first_result_set (Transact-SQL) ile aynı sonuç kümesi tanımına sahiptir ve sp_describe_first_result_set (Transact-SQL) ile benzerdir.
Transact-SQL söz dizimi kuralları
Sözdizimi
sys.dm_exec_describe_first_result_set_for_object
( @object_id , @include_browse_information )
Arguments
@object_id
@object_id Bir Transact-SQL saklanan prosedür ya da Transact-SQL tetikleyici.
@object_id
Tip int.
@include_browse_information
@include_browse_information
Bit tipidir. 1 olarak ayarlanırsa, her sorgu sorguda GEZİLİK seçeneği varmış gibi analiz edilir. Ek anahtar sütunları ve kaynak tablo bilgisi döndürür.
Döndürülen Tablo
Bu yaygın meta veri, sonuç metaverisindeki her sütun için bir satır içeren bir sonuç seti olarak döndürülür. Her satır, sütunun türünü ve nullability'ni aşağıdaki bölümde açıklanan formatta tanımlar. Eğer ilk ifade her kontrol yolu için yoksa, sıfır satır içeren bir sonuç kümesi döner.
| Sütun adı | Veri türü | Description |
|---|---|---|
| is_hidden | bit | Sütunun, bilgi için eklenen ve sonuç kümesinde görünmeyen ekstra bir sütun olup olmadığını belirtir. |
| column_ordinal | int | Sonuç kümesindeki sütunun sırasal konumunu içerir. İlk sütunun konumu 1 olarak belirtilecektir. |
| name | sysname | Eğer bir isim belirlenebiliyorsa, sütunun adını içerir. Aksi takdirde NULL. |
| is_nullable | bit | Sütun NULL'lara izin verirse 1, sütun NULL'lara izin vermiyorsa 0 ve sütunun NULL'lara izin verdiği belirlenemiyorsa 1 değerini içerir. |
| system_type_id | int | sys.types'te belirtilen sütunun veri tipinin system_type_id içerir. CLR türleri için, system_type_name sütun NULL döndürse de, bu sütun 240 değerini döndürecektir. |
| system_type_name | nvarchar(256) | Veri tipi adını içerir. Sütunun veri tipine göre belirlenen argümanları (uzunluk, hassasiyet, ölçek gibi) içerir. Veri tipi kullanıcı tanımlı bir takma ad türüyse, altta yatan sistem tipi burada belirtilmiştir. Eğer CLR kullanıcı tanımlı bir tipse, NULL bu sütunda döner. |
| max_length | smallint | Sütunun uzunluk üst sınırı (bayt cinsinden). -1 = Sütun veri türü varchar(max), nvarchar(max), varbinary(max)veya xml'dir. Metin sütunları için max_length değeri 16 veya 'sıradaki metin' ile belirlenen değer sp_tableoption olur. |
| kesinlik | tinyint | Sayısal tabanlıysa sütunun hassasiyeti. Aksi takdirde 0 döner. |
| scale | tinyint | Sayısal tabanlıysa sütun ölçeği. Aksi takdirde 0 döner. |
| collation_name | sysname | Karakter bazlıysa, sütunun derleme ismi. Aksi takdirde NULL döner. |
| user_type_id | int | CLR ve alias tipleri için, sys.types'te belirtilen sütunun veri tipinin user_type_id'sini içerir. Aksi takdirde NULL. |
| user_type_database | sysname | CLR ve alias türleri için, türün tanımlandığı veritabanının adını içerir. Aksi takdirde NULL. |
| user_type_schema | sysname | CLR ve alias türleri için, türün tanımlandığı şemanın adını içerir. Aksi takdirde NULL. |
| user_type_name | sysname | CLR ve alias türleri için, türün adını içerir. Aksi takdirde NULL. |
| assembly_qualified_type_name | nvarchar(4000) | CLR tipleri için, tipi tanımlayan assembly ve sınıfın adını döndürür. Aksi takdirde NULL. |
| xml_collection_id | int | sys.columns'ta belirtilen sütunun veri tipinin xml_collection_id içerir. Bu sütun, döndürülen tip bir XML şema koleksiyonuyla ilişkilendirilmiyorsa NULL döndürecektir. |
| xml_collection_database | sysname | Bu tiple ilişkili XML şema koleksiyonunun tanımlandığı veritabanını içerir. Bu sütun, döndürülen tip bir XML şema koleksiyonuyla ilişkilendirilmiyorsa NULL döndürecektir. |
| xml_collection_schema | sysname | Bu tiple ilişkili XML şema koleksiyonunun tanımlandığı şemayı içerir. Bu sütun, döndürülen tip bir XML şema koleksiyonuyla ilişkilendirilmiyorsa NULL döndürecektir. |
| xml_collection_name | sysname | Bu tiple ilişkili XML şema koleksiyonunun adını içerir. Bu sütun, döndürülen tip bir XML şema koleksiyonuyla ilişkilendirilmiyorsa NULL döndürecektir. |
| is_xml_document | bit | Geri dönen veri tipi XML ise ve bu tip tam bir XML belgesi (kök düğüm dahil) garanti altındaysa, XML parçası yerine 1 döndürür. Aksi takdirde 0 döner. |
| is_case_sensitive | bit | Sütun büyük harf duyarlı bir dizide ise 1, değilse 0 döner. |
| is_fixed_length_clr_type | bit | Sütun sabit uzunlukta CLR tipindeyse 1, değilse 0 döndürür. |
| source_server | sysname | Bu sonuçta sütunun geri dönen orijinal sunucusunun adı (eğer uzak bir sunucudan geliyorsa). İsim, sys.servers'te göründüğü şekilde verilmiştir. Sütun yerel sunucudan geliyorsa veya hangi sunucudan geldiği belirlenemiyorsa NULL döner. Sadece gezinme bilgisi istendiğinde doldurulur. |
| source_database | sysname | Bu sonuçta sütunun yanından gelen kaynak veritabanının adı. Veritabanı belirlenemezse NULL döner. Sadece gezinme bilgisi istendiğinde doldurulur. |
| source_schema | sysname | Bu sonuçta sütunun yanından dönen başlangıç şemasının adı. Şema belirlenemezse NULL döner. Sadece gezinme bilgisi istendiğinde doldurulur. |
| source_table | sysname | Bu sonuçta sütunun yanından gelen başlangıç tablosunun adı. Tablo belirlenemezse NULL döner. Sadece gezinme bilgisi istendiğinde doldurulur. |
| source_column | sysname | Bu sonuçta sütunun yanından dönen başlangıç sütunun adı. Sütun belirlenemezse NULL döner. Sadece gezinme bilgisi istendiğinde doldurulur. |
| is_identity_column | bit | Sütun bir kimlik sütunuysa, 1 döndürür, değilse 0 döndürür. Sütunun bir kimlik sütunu olduğu belirlenemezse NULL döner. |
| is_part_of_unique_key | bit | Sütun benzersiz bir indeksin parçası ise (benzersiz ve birincil kısıtlama dahil) 1, değilse 0 döndürür. Sütunun benzersiz bir indeksin parçası olduğu belirlenemezse NULL döner. Yalnızca gezinme bilgisi istendiğinde doldurulur. |
| is_updateable | bit | Sütun güncellenebilirse 1, güncellenmiyorsa 0 döndürür. Sütunun güncellenebilir olduğu belirlenemezse NULL döner. |
| is_computed_column | bit | Sütun hesaplanan bir sütunsa, 1 döndürür, değilse 0 döndürür. Sütunun hesaplanmış bir sütun olduğu belirlenemezse NULL döndürür. |
| is_sparse_column_set | bit | Sütun seyrek bir sütunsa 1, değilse 0 döndürür. Sütunun seyrek bir sütun kümesinin parçası olduğu belirlenemezse NULL döner. |
| ordinal_in_order_by_list | smallint | Bu sütunun ORDER BY listesindeki konumu Eğer sütun ORDER BY listesinde görünmüyorsa veya ORDER BY listesi benzersiz olarak belirlenemiyorsa NULL döner. |
| order_by_list_length | smallint | Sıra GORÎ listenin uzunluğu. ORDER BY listesi yoksa veya ORDER BY listesi benzersiz olarak belirlenemiyorsa NULL döner. Bu değerin sp_describe_first_result_set tarafından döndürülen tüm satırlar için aynı olacağını unutmayın. |
| order_by_is_descending | smallint NULL | Eğer ordinal_in_order_by_list NULL değilse, order_by_is_descending sütunu bu sütun için ORDER BY maddesinin yönünü bildirir. Aksi takdirde NULL raporu veriyor. |
| error_number | int | Fonksiyonun döndürüp getirdiği hata sayısını içerir. Sütunda hata olmazsa NULL içerir. |
| error_severity | int | Fonksiyonun geri getiren şiddetini içerir. Sütunda hata olmazsa NULL içerir. |
| error_state | int | Fonksiyonun geri dönen durum mesajını içerir. Hata olmadıysa. sütunda NULL bulunur. |
| error_message | nvarchar(4096) | Fonksiyonun geri gönderdiği mesajı içerir. Hata olmazsa, sütunda NULL bulunur. |
| error_type | int | Geri dönen hatayı temsil eden bir tam sayı içerir. Haritalar error_type_desc. Listeye Açıklamalar altındaki bakınız. |
| error_type_desc | nvarchar(60) | Geri dönen hatayı temsil eden kısa bir büyük harf dizisi içerir. Haritalar error_type. Listeye Açıklamalar altındaki bakınız. |
Açıklamalar
Bu fonksiyon, sp_describe_first_result_set ile aynı algoritmayı kullanır. Daha fazla bilgi için sp_describe_first_result_set (Transact-SQL) sayfasına bakınız.
Aşağıdaki tablo hata türlerini ve açıklamalarını listelemektedir
| error_type | error_type | Description |
|---|---|---|
| 1 | MİSC | Başka şekilde açıklanmayan tüm hatalar. |
| 2 | SÖZDİZİMİ | Partide bir sözdizimi hatası meydana geldi. |
| 3 | CONFLICTING_RESULTS | Sonuç, iki olası ilk ifade arasındaki çelişki nedeniyle belirlenemedi. |
| 4 | DYNAMIC_SQL | Sonuç, potansiyel olarak ilk sonucu geri getirebilecek dinamik SQL nedeniyle belirlenemedi. |
| 5 | CLR_PROCEDURE | Sonuç belirlenemedi, çünkü bir CLR depolanmış prosedür potansiyel olarak ilk sonucu geri getirebilirdi. |
| 6 | CLR_TRIGGER | Sonuç belirlenemedi çünkü bir CLR tetikleyicisi potansiyel olarak ilk sonucu geri getirebilirdi. |
| 7 | EXTENDED_PROCEDURE | Sonuç belirlenemedi, çünkü genişletilmiş bir depolanmış prosedür potansiyel olarak ilk sonucu geri getirebilirdi. |
| 8 | UNDECLARED_PARAMETER | Sonuç belirlenemedi; çünkü sonuç kümesinin bir veya daha fazla sütununun veri türü potansiyel olarak bildirilmemiş bir parametreye bağlıdır. |
| 9 | ÖZYİNELEME | Sonuç belirlenemedi çünkü toplu bir özyinelemeli ifade içeriyordu. |
| 10 | TEMPORARY_TABLE | Sonuç belirlenemedi çünkü parti geçici bir tablo içeriyor ve sp_describe_first_result_set tarafından desteklenmiyor. |
| 11 | UNSUPPORTED_STATEMENT | Sonuç belirlenemedi, çünkü toplu bölüm sp_describe_first_result_set tarafından desteklenmeyen bir ifade içeriyor (örneğin, FETCH, REVERT vb.). |
| 12 | OBJECT_ID_NOT_SUPPORTED | @object_id Fonksiyona iletilen işlem desteklenmez (yani saklanan bir prosedür değildir) |
| 13 | OBJECT_ID_DOES_NOT_EXIST | @object_id Fonksiyona geçiş sistemi kataloğunda bulunmamıştır. |
Permissions
Argümanı @tsql çalıştırmak için izin gerekiyor.
Örnekler
A. Gezinme bilgisi olan ve olmayan meta verilerin döndürülmesi
Aşağıdaki örnek, iki sonuç kümesi döndüren TestProc2 adlı bir kayıtlı prosedür oluşturur. Örnek, sys.dm_exec_describe_first_result_set'nin prosedürdeki ilk sonuç kümesi hakkında, gezinme bilgisi ile ve olmadan bilgi döndürdüğünü gösterir.
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 fonksiyonu ile bir tablo veya görünüm birleştirme
Aşağıdaki örnek, veritabanında saklanan tüm prosedürlerin sonuç kümeleri için meta verileri göstermek için hem sys.procedures sistem katalog görünümünü hem AdventureWorks2025 fonksiyonunu kullanır.
USE AdventureWorks2022;
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.
sp_describe_first_result_set (Transact-SQL)
sp_describe_undeclared_parameters (Transact-SQL)
sys.dm_exec_describe_first_result_set (Transact-SQL)