Freigeben über


ROUTINES (Transact-SQL)

Aktualisiert: 15. September 2007

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.

Geben Sie zum Abrufen von Informationen aus diesen Sichten den vollgekennzeichneten Namen (**INFORMATION_SCHEMA.**view_name) an.

ms188757.note(de-de,SQL.90).gifHinweis:
Die ROUTINE_DEFINITION-Spalte enthält die Quellanweisungen, die die Funktion oder die 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, beeinflussen die eingebetteten Wagenrücklaufzeichen in den Ergebnissen von ROUTINE_DEFINITION möglicherweise die Formatierung des gesamten Resultsets. Wenn Sie die ROUTINE_DEFINITION-Spalte auswählen, müssen Sie aufgrund der eingebetteten Wagenrücklaufzeichen eine Anpassung vornehmen, indem Sie beispielsweise das Resultset in ein Raster oder die ROUTINE_DEFINITION-Spalte in ein eigenes Textfeld zurückgeben.
Spaltenname Datentyp Beschreibung

SPECIFIC_CATALOG

nvarchar(128)

Spezifischer Name des Katalogs. Dieser Name ist derselbe wie für ROUTINE_CATALOG.

SPECIFIC_SCHEMA

nvarchar(128)

Spezifischer Name des Schemas.

SPECIFIC_NAME

nvarchar(128)

Spezifischer Name des Katalogs. Dieser Name ist derselbe wie für ROUTINE_NAME.

ROUTINE_CATALOG

nvarchar(128)

Katalogname der Funktion.

ROUTINE_SCHEMA

nvarchar(128)

Name des Schemas, das diese Funktion enthält.

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. Reserviert für zukünftige Verwendung.

MODULE_SCHEMA

nvarchar(128)

NULL. Reserviert für zukünftige Verwendung.

MODULE_NAME

nvarchar(128)

NULL. Reserviert für zukünftige Verwendung.

UDT_CATALOG

nvarchar(128)

NULL. Reserviert für zukünftige Verwendung.

UDT_SCHEMA

nvarchar(128)

NULL. Reserviert für zukünftige Verwendung.

UDT_NAME

nvarchar(128)

NULL. Reserviert für zukünftige Verwendung.

DATA_TYPE

nvarchar(128)

Datentyp des Rückgabewertes der Funktion. Gibt bei einer Tabellenwertfunktion table zurück.

CHARACTER_MAXIMUM_LENGTH

int

Maximale Länge in Zeichen, wenn der Rückgabetyp ein Zeichentyp ist.

-1 für Daten vom Typ xml und hohe Werte.

CHARACTER_OCTET_LENGTH

int

Maximale Länge in Bytes, wenn der Rückgabetyp ein Zeichentyp ist.

-1 für Daten vom Typ xml und hohe Werte.

COLLATION_CATALOG

nvarchar(128)

Es wird immer NULL zurückgegeben.

COLLATION_SCHEMA

nvarchar(128)

Es wird immer NULL zurückgegeben.

COLLATION_NAME

nvarchar(128)

Sortierungsname des Rückgabewertes. Für Nicht-Zeichentypen wird NULL zurückgegeben.

CHARACTER_SET_CATALOG

nvarchar(128)

Es wird immer NULL zurückgegeben.

CHARACTER_SET_SCHEMA

nvarchar(128)

Es wird immer NULL zurückgegeben.

CHARACTER_SET_NAME

nvarchar(128)

Name des Zeichensatzes des Rückgabewertes. Für Nicht-Zeichentypen wird NULL zurückgegeben.

NUMERIC_PRECISION

smallint

Numerische Genauigkeit des Rückgabewertes. Für nicht-numerische Typen wird NULL zurückgegeben.

NUMERIC_PRECISION_RADIX

smallint

Numerische Basis der Genauigkeit des Rückgabewertes. Für nicht-numerische Typen wird NULL zurückgegeben.

NUMERIC_SCALE

smallint

Dezimalstellen des Rückgabewertes. Für nicht-numerische Typen wird NULL zurückgegeben.

DATETIME_PRECISION

smallint

Fraktionale Genauigkeit von einer Sekunde, wenn der Rückgabewert vom Datentyp datetime ist. Andernfalls wird NULL zurückgegeben.

INTERVAL_TYPE

nvarchar(30)

NULL. Reserviert für zukünftige Verwendung.

INTERVAL_PRECISION

smallint

NULL. Reserviert für zukünftige Verwendung.

TYPE_UDT_CATALOG

nvarchar(128)

NULL. Reserviert für zukünftige Verwendung.

TYPE_UDT_SCHEMA

nvarchar(128)

NULL. Reserviert für zukünftige Verwendung.

TYPE_UDT_NAME

nvarchar(128)

NULL. Reserviert für zukünftige Verwendung.

SCOPE_CATALOG

nvarchar(128)

NULL. Reserviert für zukünftige Verwendung.

SCOPE_SCHEMA

nvarchar(128)

NULL. Reserviert für zukünftige Verwendung.

SCOPE_NAME

nvarchar(128)

NULL. Reserviert für zukünftige Verwendung.

MAXIMUM_CARDINALITY

bigint

NULL. Reserviert für zukünftige Verwendung.

DTD_IDENTIFIER

nvarchar(128)

NULL. Reserviert für zukünftige Verwendung.

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 4.000 Zeichen des Definitionstexts der Funktion oder der gespeicherten Prozedur zurück, wenn die Funktion oder die gespeicherte Prozedur nicht verschlüsselt ist. Andernfalls wird NULL zurückgegeben.

Um sicherzustellen, dass Sie die gesamte Definition erhalten, fragen Sie die OBJECT_DEFINITION-Funktion oder die definition-Spalte in der sys.sql_modules-Katalogsicht ab.

EXTERNAL_NAME

nvarchar(128)

NULL. Reserviert für zukünftige Verwendung.

EXTERNAL_LANGUAGE

nvarchar(30)

NULL. Reserviert für zukünftige Verwendung.

PARAMETER_STYLE

nvarchar(30)

NULL. Reserviert für zukünftige Verwendung.

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. Reserviert für zukünftige Verwendung.

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.

Siehe auch

Verweis

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

Andere Ressourcen

Abfragen des SQL Server-Systemkatalogs

Hilfe und Informationen

Informationsquellen für SQL Server 2005

Änderungsverlauf

Version Verlauf

15. September 2007

Geänderter Inhalt:
  • Die Definition der ROUTINE_DEFINITION-Spalte wurde korrigiert.