Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
SQL-adatbázis a Microsoft Fabricben
Ez a dinamikus menedzsment függvény paraméterként az a @object_id rendszert veszi fel, és leírja az első eredménymetaadatot az adott azonosítóval rendelkező modul számára. A @object_id megadott lehet egy Transact-SQL tárolt eljárás azonosítója vagy egy Transact-SQL trigger. Ha bármely más objektum azonosítója (például nézet, tábla, függvény vagy CLR eljárás), hiba jelenik meg az eredmény hibaoszlopaiban.
sys.dm_exec_describe_first_result_set_for_object ugyanazzal az eredményhalmaz-definícióval rendelkezik, mint a sys.dm_exec_describe_first_result_set (Transact-SQL), és hasonló a sp_describe_first_result_set (Transact-SQL)-hoz.
Transact-SQL szintaxis konvenciók
Szemantika
sys.dm_exec_describe_first_result_set_for_object
( @object_id , @include_browse_information )
Arguments
@object_id
Ez @object_id egy Transact-SQL tárolt eljárás vagy egy Transact-SQL trigger esetén.
@object_id az int. típus.
@include_browse_information
@include_browse_information
A bit típus. Ha 1-re van állítva, minden lekérdezést úgy elemeznek, mintha lenne egy FOR BROWSE opció a lekérdezésen. További kulcsoszlopokat és forrástábla információkat ad vissza.
Visszaadott tábla
Ez a gyakori metaadat eredményhalmazként jelenik meg, minden oszlophoz egy sorral az eredmény metaadatában. Minden sor az oszlop típusát és nullitását írja le a következő szakaszban leírt formátumban. Ha az első állítás nem létezik minden vezérlőútra, akkor egy nulla soros eredményhalmazt kapunk.
| Oszlop név | Adattípus | Description |
|---|---|---|
| is_hidden | bit | Megadja, hogy az oszlop egy további oszlop-e, amelyet böngészési információ céljából adnak hozzá, de valójában nem jelenik meg az eredményhalmazban. |
| column_ordinal | int | Tartalmazza az oszlop sorrendhelyzetét az eredményhalmazban. Az első oszlop pozíciója 1-ként lesz megadva. |
| név | sysname | Tartalmazza az oszlop nevét, ha meg lehet határozni egy név. Egyébként NULL. |
| is_nullable | bit | Tartalmazza az 1 értéket, ha az oszlop engedélyezi a NULL-okat, 0-t, ha az oszlop nem engedélyezi a NULL-okat, és 1-et, ha nem állapítható meg, hogy az oszlop engedélyezi a NULL-okat. |
| system_type_id | int | Tartalmazza az oszlop adattípusának system_type_id a sys.types szabványban meghatározott módon. CLR típusok esetén, bár a system_type_name oszlop NULL-t ad, ez az oszlop 240 értéket ad vissza. |
| system_type_name | nvarchar(256) | Tartalmazza az adattípus nevét. Tartalmazza az oszlop adattípusához meghatározott argumentumokat (például hosszúság, pontosság, méretarány). Ha az adattípus felhasználó által definiált alias típus, az alap rendszertípust itt megadjuk. Ha CLR felhasználó által definiált típus, akkor a NULL ebben az oszlopban jelenik meg. |
| max_length | smallint | Az oszlop maximális hossza (bájtban kifejezve). -1 = Az oszlop adattípusa varchar(max), nvarchar(max), varbinary(max), vagy xml. Szövegoszlopokesetén a max_length érték 16, vagy sp_tableoption által beállított érték 'szöveg sorban'. |
| pontossági | tinyint | Az oszlop pontossága, ha numerikus. Egyébként 0-t ad. |
| scale | tinyint | Az oszlop skálája, ha numerikusan alapul. Egyébként 0-t ad. |
| collation_name | sysname | Az oszlop összeállításának neve, ha karakter-alapú. Ellenkező esetben NULL jelenik meg. |
| user_type_id | int | CLR és alias típusok esetén tartalmazza az oszlop adattípusának user_type_id a sys.types által meghatározott módon. Egyébként NULL. |
| user_type_database | sysname | CLR és alias típusok esetén tartalmazza annak az adatbázisnak a nevét, amelyben a típus definiálva van. Egyébként NULL. |
| user_type_schema | sysname | CLR és alias típusok esetén tartalmazza annak a sémának a nevét, amelyben a típus meg van határozva. Egyébként NULL. |
| user_type_name | sysname | CLR és alias típusok esetén tartalmazza a típus nevét. Egyébként NULL. |
| assembly_qualified_type_name | nvarchar(4000) | CLR típusok esetén a típust definiáló assembly és osztály nevét adja vissza. Egyébként NULL. |
| xml_collection_id | int | Tartalmazza az oszlop adattípusának xml_collection_id a sys.columns területén meghatározott adattípus szerint. Ez az oszlop akkor adja vissza a NULL-t, ha a visszaadott típus nem egy XML sémagyűjteményhez tartozik. |
| xml_collection_database | sysname | Tartalmazza azt az adatbázist, amelyben az ehhez a típushoz tartozó XML sémagyűjtemény definiálva van. Ez az oszlop akkor adja vissza a NULL-t, ha a visszaadott típus nem egy XML sémagyűjteményhez tartozik. |
| xml_collection_schema | sysname | Tartalmazza azt a sémát, amelyben az ehhez a típushoz tartozó XML sémagyűjtemény definiálva van. Ez az oszlop akkor adja vissza a NULL-t, ha a visszaadott típus nem egy XML sémagyűjteményhez tartozik. |
| xml_collection_name | sysname | Tartalmazza az ehhez a típushoz tartozó XML sémagyűjtemény nevét. Ez az oszlop akkor adja vissza a NULL-t, ha a visszaadott típus nem egy XML sémagyűjteményhez tartozik. |
| is_xml_document | bit | 1-et ad vissza, ha a visszaküldött adattípus XML, és ez a típus garantáltan teljes XML dokumentum (beleértve egy gyökércsomópontot is), nem pedig XML töredéket. Egyébként 0-t ad. |
| is_case_sensitive | bit | 1-et ad vissza, ha az oszlop kis- és nagybetűs láncsor, 0-at, ha nem az. |
| is_fixed_length_clr_type | bit | 1-et, ha az oszlop fix hosszúságú CLR típusú, 0-t, ha nem az. |
| source_server | sysname | Az eredeti szerver neve az oszlop által visszaadott (ha távoli szerverről származik). A név úgy jelenik meg, ahogy a sys.servers adatbázisban megjelenik. Null értéket ad vissza, ha az oszlop a helyi szerverről indul, vagy ha nem lehet meghatározni, melyik szerverről származik. Csak akkor jelenik meg, ha böngészési információkat kérnek. |
| source_database | sysname | Az eredeti adatbázis neve a következőben megjelenő oszlop által visszakerült. NULL értéket ad vissza, ha az adatbázis nem határozható meg. Csak akkor jelenik meg, ha böngészési információkat kérnek. |
| source_schema | sysname | Az eredeti séma nevét az oszlop adja vissza ebben az eredményben. Null értéket ad vissza, ha a séma nem határozható meg. Csak akkor jelenik meg, ha böngészési információkat kérnek. |
| forrás_tábla | sysname | Az eredeti tábla neve, amelyet az oszlop adott vissza ebben az eredményben. Nullat ad, ha a tábla nem határozható meg. Csak akkor jelenik meg, ha böngészési információkat kérnek. |
| source_column | sysname | Az eredeti oszlop neve, amelyet az oszlop adott vissza ebben az eredményben. NULL értéket ad vissza, ha az oszlop nem határozható meg. Csak akkor jelenik meg, ha böngészési információkat kérnek. |
| is_identity_column | bit | 1-et ad vissza, ha az oszlop identitásoszlop, és 0-ot, ha nem. Null értéket ad vissza, ha nem állapítható meg, hogy az oszlop identitásoszlop. |
| is_part_of_unique_key | bit | 1-et ad, ha az oszlop egy egyedi index része (beleértve az egyedi és elsődleges korlátozást is), és 0-ot, ha nem. Null értéket ad vissza, ha nem állapítható meg, hogy az oszlop egy egyedi index része. Csak akkor töltik fel, ha böngészési információkat kérnek. |
| is_updateable | bit | 1-et, ha az oszlop frissíthető, 0-ot, ha nem. Null értéket ad vissza, ha nem állapítható meg, hogy az oszlop frissíthető. |
| is_computed_column | bit | 1-et, ha az oszlop kiszámított oszlop, 0-t ad, ha nem. Null értéket ad vissza, ha nem állapítható meg, hogy az oszlop kiszámított oszlop. |
| is_sparse_column_set | bit | 1-et, ha az oszlop ritka oszlop, 0-et, ha nem. Null értéket ad vissza, ha nem állapítható meg, hogy az oszlop egy ritka oszlophalmazhoz tartozik. |
| ordinal_in_order_by_list | smallint | Ennek az oszlopnak a ORDER BY listában helye NULL értéket ad vissza, ha az oszlop nem jelenik meg a ORDER BY listában, vagy ha a ORDER BY lista nem lehet egyediben meghatározható. |
| order_by_list_length | smallint | A ORDER BY lista hossza. Nullat ad, ha nincs ORDER BY lista, vagy ha a ORDER BY lista nem lehet egyedül meghatározható. Fontos megjegyezni, hogy ez az érték minden sp_describe_first_result_set által visszaadott sorra ugyanaz lesz. |
| order_by_is_descending | smallint NULL | Ha a ordinal_in_order_by_list nem NULL, a order_by_is_descending oszlop jelzi ennek az oszlopnak a ORDER BY klauzdula irányát. Ellenkező esetben NULL-nak jelent. |
| error_number | int | Tartalmazza a függvény által visszaadott hibaszámot. Tartalmaz NULL-t, ha nem történt hiba az oszlopban. |
| error_severity | int | Tartalmazza a függvény által visszaadott súlyosságot. Tartalmaz NULL-t, ha nem történt hiba az oszlopban. |
| error_state | int | Tartalmazza a függvény által visszaadott állapotüzenetet. Ha nem történt hiba. az oszlop tartalmazza a NULL-t. |
| error_message | nvarchar(4096) | Tartalmazza a függvény által visszaküldött üzenetet. Ha hiba nem történt, az oszlop tartalmazza a NULL-t. |
| error_type | int | Tartalmaz egy egész számot, amely a visszaadott hibát jelöli. Térképek error_type_desc. Lásd a listát a megjegyzések alatt. |
| error_type_desc | nvarchar(60) | Egy rövid nagybetűs stringet tartalmaz, amely a visszaadott hibát jelöli. Térképek error_type. Lásd a listát a megjegyzések alatt. |
Megjegyzések
Ez a függvény ugyanazt az algoritmust használja, mint a sp_describe_first_result_set. További információért lásd sp_describe_first_result_set (Transact-SQL).
Az alábbi táblázat felsorolja a hibatípusokat és azok leírásait
| error_type | error_type | Description |
|---|---|---|
| 1 | MISC | Minden olyan hibá, amelyet másképp nem írnak le. |
| 2 | SZINTAXIS | A batch során szintaktishiba történt. |
| 3 | CONFLICTING_RESULTS | Az eredményt nem lehetett megállapítani két lehetséges első állítás közötti ütközés miatt. |
| 4 | DYNAMIC_SQL | Az eredményt nem lehetett meghatározni a dinamikus SQL miatt, amely potenciálisan visszaadhatja az első eredményt. |
| 5 | CLR_PROCEDURE | Az eredményt nem lehetett megállapítani, mert egy CLR-en tárolt eljárás potenciálisan visszahozhatta az első eredményt. |
| 6 | CLR_TRIGGER | Az eredmény nem határozható meg, mert egy CLR trigger potenciálisan visszahozhatja az első eredményt. |
| 7 | EXTENDED_PROCEDURE | Az eredményt nem lehetett meghatározni, mert egy kiterjesztett tárolt eljárás potenciálisan visszahozhatta az első eredményt. |
| 8 | UNDECLARED_PARAMETER | Az eredmény nem határozható meg, mert az eredményhalmaz egyik vagy több oszlopának adattípusa potenciálisan függ egy kijelentetlen paramétertől. |
| 9 | REKURZIÓ | Az eredmény nem határozható meg, mert a batch tartalmaz rekurzív állítást. |
| 10 | TEMPORARY_TABLE | Az eredmény nem határozható meg, mert a batch ideiglenes táblát tartalmaz, és nem támogatja sp_describe_first_result_set . |
| 11 | UNSUPPORTED_STATEMENT | Az eredmény nem határozható meg, mert a batch tartalmaz olyan állítást, amelyet sp_describe_first_result_set nem támogat (pl. FETCH, REVERT stb.). |
| 12 | OBJECT_ID_NOT_SUPPORTED | A @object_id függvényhez továbbított eljárás nem támogatott (azaz nem tárolt eljárás). |
| 13 | OBJECT_ID_DOES_NOT_EXIST | A függvényhez átadott eszköz @object_id nem található meg a rendszer katalógusában. |
Permissions
Engedély szükséges az érv végrehajtásához @tsql .
Példák
A. Metaadatok visszaküldése böngészési információval és anélkül is
A következő példa egy tárolt eljárást hoz létre TestProc2 néven, amely két eredményhalmazt ad vissza. Ezután a példa azt mutatja, hogy sys.dm_exec_describe_first_result_set az eljárás első eredményhalmazáról származó információt ad vissza, böngészési információval és anélkül is.
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. A sys.dm_exec_describe_first_result_set_for_object függvény és egy tábla vagy nézet kombinálása
A következő példa mind a sys.procedures rendszer katalógusnézetét, mind az sys.dm_exec_describe_first_result_set_for_object funkciót használja az adatbázisban tárolt összes eljárás AdventureWorks2025 eredményhalmazának metaadatainak megjelenítésére.
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
Lásd még:
sp_describe_first_result_set (Transact-SQL)
sp_describe_undeclared_parameters (Transact-SQL)
sys.dm_exec_describe_first_result_set (Transact-SQL)