sp_sproc_columns (Transact-SQL)

Gibt Spalteninformationen für eine einzelne gespeicherte Prozedur oder benutzerdefinierte Funktion in der aktuellen Umgebung zurück.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

sp_sproc_columns [[@procedure_name = ] 'name'] 
    [ , [@procedure_owner = ] 'owner'] 
    [ , [@procedure_qualifier = ] 'qualifier'] 
    [ , [@column_name = ] 'column_name']
    [ , [@ODBCVer = ] 'ODBCVer']
    [ , [@fUsePattern = ] 'fUsePattern']

Argumente

  • [ @procedure_name = ] 'name'
    Der Name der Prozedur, die verwendet wird, um Kataloginformationen zurückzugeben. name ist vom Datentyp nvarchar(390). Der Standardwert ist %, womit alle Tabellen in der aktuellen Datenbank gemeint sind. Mustervergleiche mit Platzhalterzeichen werden unterstützt.

  • [ @procedure_owner =] 'owner'
    Der Name des Besitzers der Prozedur. ownerist nvarchar(384). Der Standardwert ist NULL. Mustervergleiche mit Platzhalterzeichen werden unterstützt. Wenn owner nicht angegeben wird, gelten die Standardregeln für die Sichtbarkeit von Prozeduren des zugrunde liegenden DBMS.

    Wenn der aktuelle Benutzer eine Prozedur mit dem angegebenen Namen besitzt, werden Informationen zu dieser Prozedur zurückgegeben. Wenn owner nicht angegeben wird und der aktuelle Benutzer keine Prozedur mit dem angegebenen Namen besitzt, sucht sp_sproc_columns nach einer Prozedur mit dem angegebenen Namen, die dem Datenbankbesitzer gehört. Sofern die Prozedur vorhanden ist, werden Information zu deren Spalten zurückgegeben.

  • [ @procedure_qualifier =] 'qualifier'
    Der Name des Prozedurqualifizierers. qualifier ist vom Datentyp sysname und hat den Standardwert NULL. Verschiedene DBMS-Produkte unterstützen eine dreiteilige Benennung für Tabellen (qualifier.owner.name). In SQL Server entspricht dieser Parameter dem Datenbanknamen. Bei anderen Produkten stellt er den Servernamen der Datenbankumgebung für die Tabelle dar.

  • [ @column_name =] 'column_name'
    Eine einzelne Spalte, die verwendet wird, wenn nur eine Spalte mit Kataloginformationen gewünscht wird. column_name ist vom Datentyp nvarchar(384) und hat den Standardwert NULL. Wenn column_name weggelassen wird, werden alle Spalten zurückgegeben. Mustervergleiche mit Platzhalterzeichen werden unterstützt. Für eine optimale Interoperabilität sollte der Gatewayclient nur einen ISO-Standardmustervergleich voraussetzen (die Platzhalterzeichen % und _).

  • [ @ODBCVer =] 'ODBCVer'
    Die verwendete ODBC-Version. ODBCVer ist vom Datentyp int. Der Standardwert ist 2 und bezeichnet die ODBC-Version 2.0. Weitere Informationen zu den Unterschieden zwischen ODBC, Version 2.0, und ODBC, Version 3.0, finden Sie in der SQLProcedureColumns-ODBC-Spezifikation für ODBC, Version 3.0.

  • [ @fUsePattern =] 'fUsePattern'
    Bestimmt, ob der Unterstrich (_), das Prozentzeichen (%) und eckige Klammern ([ ]) als Platzhalterzeichen interpretiert werden. Zulässige Werte sind 0 (Mustervergleich ist auf OFF festgelegt) und 1 (Mustervergleich ist auf ON festgelegt). fUsePattern ist vom Datentyp bit und hat den Standardwert 1.

Rückgabecodewerte

Keine

Resultsets

Spaltenname

Datentyp

Beschreibung

PROCEDURE_QUALIFIER

sysname

Der Name des Prozedurqualifizierers. Diese Spalte kann den Wert NULL aufweisen.

PROCEDURE_OWNER

sysname

Der Name des Prozedurbesitzers. Diese Spalte gibt immer einen Wert zurück.

PROCEDURE_NAME

nvarchar(134)

Der Name der Prozedur. Diese Spalte gibt immer einen Wert zurück.

COLUMN_NAME

sysname

Der Name der Spalte, der für jede Spalte von TABLE_NAME zurückgegeben wird. Diese Spalte gibt immer einen Wert zurück.

COLUMN_TYPE

smallint

Dieses Feld gibt immer einen Wert zurück:

0 = SQL_PARAM_TYPE_UNKNOWN

1 = SQL_PARAM_TYPE_INPUT

2 = SQL_PARAM_TYPE_OUTPUT

3 = SQL_RESULT_COL

4 = SQL_PARAM_OUTPUT

5 = SQL_RETURN_VALUE

DATA_TYPE

smallint

Ein ganzzahliger Code für einen ODBC-Datentyp. Wenn dieser Datentyp keinem ISO-Datentyp zugeordnet werden kann, lautet der Wert NULL. Der Name des systemeigenen Datentyps wird in der TYPE_NAME-Spalte zurückgegeben.

TYPE_NAME

sysname

Die Zeichenfolgendarstellung des Datentyps. Es handelt sich um die DBMS-spezifische Darstellung des Datentypnamens.

PRECISION

int

Die Anzahl von signifikanten Stellen. Der Rückgabewert für die PRECISION-Spalte besitzt die Basis 10.

LENGTH

int

Die Übertragungsgröße der Daten.

SCALE

smallint

Die Anzahl von Ziffern rechts vom Dezimalzeichen.

RADIX

smallint

Die Basis für die Darstellung numerischer Datentypen.

NULLABLE

smallint

Gibt die NULL-Zulässigkeit an:

1 = Datentyp mit NULL-Werten ist zulässig.

0 = NULL-Werte sind nicht zulässig.

REMARKS

varchar(254)

Eine Beschreibung der Prozedurspalte. SQL Server gibt für diese Spalte keinen Wert zurück.

COLUMN_DEF

nvarchar(4000)

Standardwert der Spalte.

SQL_DATA_TYPE

smallint

Der Wert des SQL-Datentyps, wie er im TYPE-Feld des Deskriptors angezeigt wird. Diese Spalte entspricht der DATA_TYPE-Spalte, mit Ausnahme der Datentypen datetime und ISO interval. Diese Spalte gibt immer einen Wert zurück.

SQL_DATETIME_SUB

smallint

Wenn SQL_DATA_TYPE den Wert SQL_DATETIME oder SQL_INTERVAL hat, enthält diese Spalte den Subcode für datetime ISO interval. Bei anderen Datentypen als datetime und ISO interval ist dieses Feld NULL.

CHAR_OCTET_LENGTH

int

Die maximale Länge (in Bytes) einer Spalte vom Datentyp character oder binary. Bei allen anderen Datentypen gibt diese Spalte einen NULL-Wert zurück.

ORDINAL_POSITION

int

Die Position einer Spalte innerhalb der Tabelle. Die erste Spalte in der Tabelle ist 1. Diese Spalte gibt stets einen Wert zurück.

IS_NULLABLE

varchar(254)

Die NULL-Zulässigkeit einer Spalte innerhalb der Tabelle. Die NULL-Zulässigkeit wird gemäß den ISO-Regeln bestimmt. Ein DBMS nach ISO kann keine leere Zeichenfolge zurückgeben.

YES, wenn die Spalte NULL-Werte einschließen kann. NO, wenn die Spalte keine NULL-Werte einschließen kann.

Die Spalte gibt eine leere Zeichenfolge zurück, wenn die NULL-Zulässigkeit unbekannt ist.

Der für diese Spalte zurückgegebene Wert ist ein anderer als der für die NULLABLE-Spalte zurückgegebene Wert.

SS_DATA_TYPE

tinyint

Der SQL Server-Datentyp, der von erweiterten gespeicherten Prozeduren verwendet wird. Weitere Informationen finden Sie unter Datentypen (Transact-SQL).

Hinweise

sp_sproc_columns entspricht SQLProcedureColumns in ODBC. Die zurückgegebenen Informationen werden nach den Spalten PROCEDURE_QUALIFIER, PROCEDURE_OWNER, PROCEDURE_NAME geordnet und in der Reihenfolge zurückgegeben, in der die Parameter in der Prozedurdefinition angezeigt werden.

Berechtigungen

Erfordert die SELECT-Berechtigung für das Schema.