ROUTINES (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Analytics-Endpunkt in Microsoft FabricWarehouse in Microsoft Fabric

Gibt eine Zeile für jede gespeicherte Prozedur und Funktion zurück, auf die der aktuelle Benutzer in der aktuellen Datenbank zugreifen kann. Die Spalten, die den Rückgabewert beschreiben, sind nur auf Funktionen anwendbar. Für gespeicherte Prozeduren sind diese Spalten NULL.

Um Informationen aus diesen Ansichten abzurufen, geben Sie den vollqualifizierten Namen von INFORMATION_SCHEMA an.view_name.

Hinweis

Die Spalte ROUTINE_DEFINITION enthält die Quellanweisungen, die die Funktion oder gespeicherte Prozedur erstellt haben. Diese Quellanweisungen enthalten wahrscheinlich eingebettete Wagenrücklaufzeichen. Wenn Sie diese Spalte an eine Anwendung zurückgeben, die die Ergebnisse in einem Textformat anzeigt, kann sich der eingebettete Wagen in den ROUTINE_DEFINITION Ergebnissen auf die Formatierung des gesamten Resultsets auswirken. Wenn Sie die ROUTINE_DEFINITION Spalte auswählen, müssen Sie die Einbettung der Wagenrücklauf anpassen; Wenn Sie z. B. das Resultset in ein Raster zurückgeben oder ROUTINE_DEFINITION in ein eigenes Textfeld zurückgeben.

Spaltenname Datentyp Beschreibung
SPECIFIC_CATALOG nvarchar(128) Spezifischer Name des Katalogs. Dieser Name ist identisch mit ROUTINE_CATALOG.
SPECIFIC_SCHEMA nvarchar(128) Spezifischer Name des Schemas.

** Wichtig ** Verwenden Sie nicht INFORMATION_SCHEMA Ansichten, um das Schema eines Objekts zu bestimmen. INFORMATION_SCHEMA-Sichten stellen nur eine Teilmenge der Metadaten eines Objekts dar. Die einzige zuverlässige Methode, das Schema eines Objekts zu finden, ist eine Abfrage der Katalogsicht sys.objects.
SPECIFIC_NAME nvarchar(128) Spezifischer Name des Katalogs. Dieser Name ist identisch mit ROUTINE_NAME.
ROUTINE_CATALOG nvarchar(128) Katalogname der Funktion.
ROUTINE_SCHEMA nvarchar(128) Name des Schemas, das diese Funktion enthält.

** Wichtig ** Verwenden Sie nicht INFORMATION_SCHEMA Ansichten, um das Schema eines Objekts zu bestimmen. INFORMATION_SCHEMA-Sichten stellen nur eine Teilmenge der Metadaten eines Objekts dar. Die einzige zuverlässige Methode, das Schema eines Objekts zu finden, ist eine Abfrage der Katalogsicht sys.objects.
ROUTINE_NAME nvarchar(128) Name der Funktion.
ROUTINE_TYPE nvarchar(20) Gibt PROCEDURE für gespeicherte Prozeduren und FUNCTION für Funktionen zurück.
MODULE_CATALOG nvarchar(128) NULL. Für die zukünftige Verwendung reserviert.
MODULE_SCHEMA nvarchar(128) NULL. Für die zukünftige Verwendung reserviert.
MODULE_NAME nvarchar(128) NULL. Für die zukünftige Verwendung reserviert.
UDT_CATALOG nvarchar(128) NULL. Für die zukünftige Verwendung reserviert.
UDT_SCHEMA nvarchar(128) NULL. Für die zukünftige Verwendung reserviert.
UDT_NAME nvarchar(128) NULL. Für die zukünftige Verwendung reserviert.
DATA_TYPE nvarchar(128) Datentyp des Rückgabewerts der Funktion. Gibt eine Tabelle zurück, wenn eine Tabellenwertfunktion verwendet wird.
CHARACTER_MAXIMUM_LENGTH int Maximale Länge in Zeichen, wenn der Rückgabetyp ein Zeichentyp ist.

-1 für XML - und großwertige Typdaten.
CHARACTER_OCTET_LENGTH int Maximale Länge in Bytes, wenn der Rückgabetyp ein Zeichentyp ist.

-1 für XML - und großwertige Typdaten.
COLLATION_CATALOG nvarchar(128) Gibt immer NULL zurück.
COLLATION_SCHEMA nvarchar(128) Gibt immer NULL zurück.
COLLATION_NAME nvarchar(128) Sortierungsname des Rückgabewerts. Für Nicht-Zeichentypen wird NULL zurückgegeben.
CHARACTER_SET_CATALOG nvarchar(128) Gibt immer NULL zurück.
CHARACTER_SET_SCHEMA nvarchar(128) Gibt immer NULL zurück.
CHARACTER_SET_NAME nvarchar(128) Name des Zeichensatzes des Rückgabewerts. Für Nicht-Zeichentypen wird NULL zurückgegeben.
NUMERIC_PRECISION smallint Numerische Genauigkeit des Rückgabewerts. Gibt für die nicht numerischen Typen NULL zurück.
NUMERIC_PRECISION_RADIX smallint Numerische Basis der Genauigkeit des Rückgabewerts. Für nicht-numerische Typen wird NULL zurückgegeben.
NUMERIC_SCALE smallint Dezimalstellen des Rückgabewerts. Für nicht-numerische Typen wird NULL zurückgegeben.
DATETIME_PRECISION smallint Bruchgenauigkeit einer Sekunde, wenn der Rückgabewert vom Typ "datetime" ist. Andernfalls wird NULL zurückgegeben.
INTERVAL_TYPE nvarchar(30) NULL. Für die zukünftige Verwendung reserviert.
INTERVAL_PRECISION smallint NULL. Für die zukünftige Verwendung reserviert.
TYPE_UDT_CATALOG nvarchar(128) NULL. Für die zukünftige Verwendung reserviert.
TYPE_UDT_SCHEMA nvarchar(128) NULL. Für die zukünftige Verwendung reserviert.
TYPE_UDT_NAME nvarchar(128) NULL. Für die zukünftige Verwendung reserviert.
SCOPE_CATALOG nvarchar(128) NULL. Für die zukünftige Verwendung reserviert.
SCOPE_SCHEMA nvarchar(128) NULL. Für die zukünftige Verwendung reserviert.
SCOPE_NAME nvarchar(128) NULL. Für die zukünftige Verwendung reserviert.
MAXIMUM_CARDINALITY bigint NULL. Für die zukünftige Verwendung reserviert.
DTD_IDENTIFIER nvarchar(128) NULL. Für die zukünftige Verwendung reserviert.
ROUTINE_BODY nvarchar(30) Gibt SQL für eine Transact-SQL-Funktion und EXTERNAL für eine extern geschriebene Funktion zurück.

Funktionen sind immer SQL.
ROUTINE_DEFINITION nvarchar(4000) Gibt die ersten 4000 Zeichen des Definitionstexts der Funktion oder gespeicherten Prozedur zurück, wenn die Funktion oder gespeicherte Prozedur nicht verschlüsselt ist. Andernfalls wird NULL zurückgegeben.

Um sicherzustellen, dass Sie die vollständige Definition erhalten, fragen Sie die OBJECT_DEFINITION-Funktion oder die Definitionsspalte in der sys.sql_modules Katalogansicht ab.
EXTERNAL_NAME nvarchar(128) NULL. Für die zukünftige Verwendung reserviert.
EXTERNAL_LANGUAGE nvarchar(30) NULL. Für die zukünftige Verwendung reserviert.
PARAMETER_STYLE nvarchar(30) NULL. Für die zukünftige Verwendung reserviert.
IS_DETERMINISTIC nvarchar(10) Gibt YES zurück, wenn die Routine deterministisch ist.

Gibt NO zurück, wenn die Routine nicht deterministisch ist.

Für gespeicherte Prozeduren wird immer NO zurückgegeben.
SQL_DATA_ACCESS nvarchar(30) Gibt einen der folgenden Werte zurück:

NONE = Die Funktion enthält keine SQL-Anweisungen.

CONTAINS = Die Funktion enthält möglicherweise SQL-Anweisungen.

READS = Die Funktion liest möglicherweise SQL-Daten.

MODIFIES = Die Funktion ändert möglicherweise SQL-Daten.

Gibt für alle Funktionen READS und für alle gespeicherten Prozeduren MODIFIES zurück.
IS_NULL_CALL nvarchar(10) Zeigt an, ob die Routine aufgerufen wird, wenn eines der Argumente NULL ist.
SQL_PATH nvarchar(128) NULL. Für die zukünftige Verwendung reserviert.
SCHEMA_LEVEL_ROUTINE nvarchar(10) Gibt YES zurück, wenn es sich um eine Funktion auf Schemaebene handelt, oder NO, wenn es keine Funktion auf Schemaebene ist.

Es wird immer YES zurückgegeben.
MAX_DYNAMIC_RESULT_SETS smallint Maximale Anzahl der dynamischen Resultsets, die durch die Routine zurückgegeben werden.

Gibt bei Funktionen 0 zurück.
IS_USER_DEFINED_CAST nvarchar(10) Gibt YES zurück, wenn es sich um eine benutzerdefinierte Typumwandlungsfunktion handelt, oder NO, wenn es keine benutzerdefinierte Typumwandlungsfunktion ist.

Es wird immer NO zurückgegeben.
IS_IMPLICITLY_INVOCABLE nvarchar(10) Gibt YES zurück, wenn die Routine implizit aufgerufen werden kann, und NO, wenn die Funktion nicht implizit aufgerufen werden kann.

Es wird immer NO zurückgegeben.
CREATED datetime Zeitpunkt, zu dem die Routine erstellt wurde.
LAST_ALTERED datetime Zeitpunkt der letzten Änderung der Funktion.

Weitere Informationen

Systemsichten (Transact-SQL)
Informationsschemasichten (Transact-SQL)
sys.columns (Transact-SQL)
sys.objects (Transact-SQL)
sys.procedures (Transact-SQL)
sys.sql_modules (Transact-SQL)