sp_sproc_columns (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 Spalteninformationen für eine einzelne gespeicherte Prozedur oder benutzerdefinierte Funktion in der aktuellen Umgebung zurück.

Transact-SQL-Syntaxkonventionen

Syntax

sp_sproc_columns
    [ [ @procedure_name = ] N'procedure_name' ]
    [ , [ @procedure_owner = ] N'procedure_owner' ]
    [ , [ @procedure_qualifier = ] N'procedure_qualifier' ]
    [ , [ @column_name = ] N'column_name' ]
    [ , [ @ODBCVer = ] ODBCVer ]
    [ , [ @fUsePattern = ] fUsePattern ]
[ ; ]

Argumente

[ @procedure_name = ] N'procedure_name'

Der Name der Prozedur, die zum Zurückgeben von Kataloginformationen verwendet wird. @procedure_name ist nvarchar(390), mit einem Standardwert von %, was bedeutet, dass alle Tabellen in der aktuellen Datenbank. Mustervergleiche mit Platzhalterzeichen werden unterstützt.

[ @procedure_owner = ] N'procedure_owner'

Der Name des Besitzers der Prozedur. @procedure_owner ist nvarchar(384), mit einem Standardwert von NULL. Mustervergleiche mit Platzhalterzeichen werden unterstützt. Wenn @procedure_owner nicht angegeben ist, gelten die Standardmäßigen Sichtbarkeitsregeln für Prozeduren des zugrunde liegenden Datenbankverwaltungssystems (DBMS).

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

[ @procedure_qualifier = ] N'procedure_qualifier'

Der Name des Prozedurqualifizierers. @procedure_qualifier ist "sysname" mit einem Standardwert von NULL. Verschiedene DBMS-Produkte unterstützen die dreiteilige Benennung für Tabellen (<qualifier>.<owner>.<name>). In SQL Server stellt dieser Parameter den Datenbanknamen dar. Bei anderen Produkten stellt sie den Servernamen der Datenbankumgebung für die Tabelle dar.

[ @column_name = ] N'column_name'

Eine einzelne Spalte und wird verwendet, wenn nur eine Spalte mit Kataloginformationen gewünscht wird. @column_name ist nvarchar(384), mit einem Standardwert von 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 int, mit einem Standardwert von 2, der ODBC-Version 2.0 angibt. Weitere Informationen zu den Unterschieden zwischen ODBC Version 2.0 und ODBC Version 3.0 finden Sie in der ODBC-Spezifikation SQLProcedureColumns für ODBC Version 3.0.

[ @fUsePattern = ] fUsePattern

Bestimmt, ob der Unterstrich (_), der Prozentwert (%) und die Klammerzeichen ([und ]) als Platzhalter interpretiert werden Karte Zeichen. @fUsePattern ist bit, mit einem Standardwert von 1. Gültige Werte sind 0 (Musterabgleich ist deaktiviert) und 1 (Mustervergleich ist aktiviert).

Rückgabecodewerte

Keine.

Resultset

Spaltenname Datentyp Beschreibung
PROCEDURE_QUALIFIER sysname Der Name des Prozedurqualifizierers. Diese Spalte kann sein NULL.
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 Spaltenname für jede Spalte der TABLE_NAME zurückgegebenen. 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-Typ zugeordnet werden kann, lautet NULLder Wert . Der name des nativen Datentyps wird in der TYPE_NAME Spalte zurückgegeben.
TYPE_NAME sysname Die Zeichenfolgendarstellung des Datentyps. Dieser Wert ist der Datentypname, wie vom zugrunde liegenden DBMS dargestellt.
PRECISION int Die Anzahl von signifikanten Stellen. Der Rückgabewert für die PRECISION Spalte befindet sich in Der Basis 10.
LENGTH int Die Übertragungsgröße der Daten.
SCALE smallint Die Anzahl der Ziffern rechts vom Dezimalzeichen
RADIX smallint Die Basis für numerische Typen.
NULLABLE smallint Gibt die NULL-Zulässigkeit an:

1 = Datentyp kann erstellt werden, sodass Nullwerte zulässig sind.
0 = Nullwerte sind nicht zulässig.
REMARKS varchar(254) Beschreibung der Prozedurspalte. SQL Server gibt keinen Wert für diese Spalte 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 ist identisch mit der DATA_TYPE Spalte, mit Ausnahme der Datentypen "datetime " und "ISO-Intervall " . Diese Spalte gibt immer einen Wert zurück.
SQL_DATETIME_SUB smallint Der Subcode für datumstime ISO-Intervalle, wenn der Wert des Werts SQL_DATA_TYPE ist SQL_DATETIME oder SQL_INTERVAL. Bei anderen Datentypen als Datetime- und ISO-Intervall ist NULLdieses Feld .
CHAR_OCTET_LENGTH int Maximale Länge in Byte eines Zeichens oder einer Binärdatentypspalte. Für alle anderen Datentypen gibt diese Spalte eine NULL.
ORDINAL_POSITION int Die Position einer Spalte innerhalb der Tabelle. Die erste Spalte in der Tabelle ist 1. Diese Spalte gibt immer einen Wert zurück.
IS_NULLABLE varchar(254) Nullierbarkeit der Spalte in der Tabelle. Die NULL-Zulässigkeit wird gemäß den ISO-Regeln bestimmt. Ein ISO-kompatibles DBMS kann keine leere Zeichenfolge zurückgeben.

Zeigt an YES , ob die Spalte NULL-Werte enthalten kann und NO wenn die Spalte keine NULL-Werte enthalten kann.

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

Der für diese Spalte zurückgegebene Wert unterscheidet sich vom für die NULLABLE Spalte zurückgegebenen 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_columnsSQLProcedureColumns entspricht in ODBC. Die zurückgegebenen Ergebnisse werden nach PROCEDURE_QUALIFIER, PROCEDURE_OWNER, PROCEDURE_NAMEund der Reihenfolge sortiert, in der die Parameter in der Prozedurdefinition angezeigt werden.

Berechtigungen

Erfordert die SELECT-Berechtigung im Schema.