Udostępnij za pomocą


sp_sproc_columns (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Punkt końcowy analizy SQL w usłudze Microsoft FabricHurtownia danych w usłudze Microsoft FabricBaza danych SQL w usłudze Microsoft Fabric

Zwraca informacje kolumnowe dla pojedynczej procedury przechowywanej lub funkcji zdefiniowanej przez użytkownika w bieżącym środowisku.

Transact-SQL konwencje składni

Składnia

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 ]
[ ; ]

Arguments

[ @procedure_name = ] N'procedure_name'

Nazwa procedury używanej do zwracania informacji katalogowych. @procedure_name to nvarchar(390), z domyślnym , %co oznacza wszystkie tabele w aktualnej bazie danych. Obsługiwane jest dopasowanie wzorców dzikich.

[ @procedure_owner = ] N'procedure_owner'

Imię i nazwisko właściciela zabiegu. @procedure_owner to nvarchar(384), z domyślnym obciążeniem NULL. Obsługiwane jest dopasowanie wzorców dzikich. Jeśli @procedure_owner nie jest określona, stosuje się domyślne reguły widoczności procedur w systemie zarządzania bazą danych (DBMS).

Jeśli aktualny użytkownik posiada procedurę o określonej nazwie, zwracane są informacje o tej procedurze. Jeśli @procedure_owner nie jest określone, a obecny użytkownik nie posiada procedury o określonej nazwie, szuka procedury o tej nazwie, sp_sproc_columns która należy do właściciela bazy danych. Jeśli procedura istnieje, zwracana jest informacja o jej kolumnach.

[ @procedure_qualifier = ] N'procedure_qualifier'

Nazwa kwalifikatora procedury. @procedure_qualifier to nazwa sysname, z domyślnym .NULL Różne produkty DBMS obsługują trzyczęściowe nazewnictwo tabel (<qualifier>.<owner>.<name>). W SQL Server ten parametr reprezentuje nazwę bazy danych. W niektórych produktach reprezentuje nazwę serwera środowiska bazodanowego tabeli.

[ @column_name = ] N'column_name'

Pojedyncza kolumna i jest używana, gdy pożądana jest tylko jedna kolumna informacji katalogowych. @column_name to nvarchar(384), z domyślnym obciążeniem NULL. Jeśli @column_name zostanie pominięte, wszystkie kolumny są zwracane. Obsługiwane jest dopasowanie wzorców dzikich. Dla maksymalnej interoperacyjności klient bramy powinien zakładać jedynie dopasowanie wzorców ISO standardowych (znaki dzikie % i _ wildcard).

[ @ODBCVer = ] ODBCVer

Wersja ODBC używana. @ODBCVer to int, z domyślnym , 2co wskazuje na wersję ODBC 2.0. Aby uzyskać więcej informacji na temat różnic między wersją ODBC 2.0 a wersją ODBC 3.0, zobacz specyfikację ODBC SQLProcedureColumns dla wersji 3.0.

[ @fUsePattern = ] fUsePattern

Określa, czy znaki podkreśleń (_), procent (%) oraz nawiasów ([ i ]) są interpretowane jako znaki dzikie. @fUsePattern jest bit, z domyślnym .1 Poprawne wartości to 0 (dopasowywanie wzorców jest wyłączone) oraz 1 (dopasowanie wzorców jest włączone).

Zwracanie wartości kodu

Żaden.

Zestaw wyników

Nazwa kolumny Typ danych Description
PROCEDURE_QUALIFIER sysname Nazwa kwalifikująca procedurę. Ta kolumna może być .NULL
PROCEDURE_OWNER sysname Imię właściciela procedury. Ta kolumna zawsze zwraca wartość.
PROCEDURE_NAME nvarchar(134) Nazwa procedury. Ta kolumna zawsze zwraca wartość.
COLUMN_NAME sysname Nazwa kolumny dla każdej kolumny zwróconej TABLE_NAME . Ta kolumna zawsze zwraca wartość.
COLUMN_TYPE smallint To pole zawsze zwraca wartość:

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 Kod całkowitoliczbowy dla typu danych ODBC. Jeśli tego typu danych nie można odwzorować na typ ISO, wartość wynosi .NULL Natywna nazwa typu danych jest zwracana w kolumnie TYPE_NAME .
TYPE_NAME sysname Reprezentacja ciągu danych typu danych. Ta wartość to nazwa typu danych przedstawiona przez bazowy DBMS.
PRECISION int Liczba cyfr znaczących. Wartość zwrotu dla kolumny PRECISION znajduje się w bazie 10.
LENGTH int Rozmiar transferu danych.
SCALE smallint Liczba cyfr po prawej stronie przecinka.
RADIX smallint Podstawa dla typów numerycznych.
NULLABLE smallint Określa możliwość zerowania:

1 = Można utworzyć typ danych pozwalający na wartości zerowe.
0 = Wartości zerowe nie są dozwolone.
REMARKS varchar(254) Opis kolumny procedury. SQL Server nie zwraca wartości dla tej kolumny.
COLUMN_DEF nvarchar(4000) Wartość domyślna kolumny.
SQL_DATA_TYPE smallint Wartość typu danych SQL tak, jak pojawia się w TYPE polu deskryptora. Ta kolumna jest taka sama jak kolumna DATA_TYPE , z wyjątkiem daty, czasu i interwału ISO. Ta kolumna zawsze zwraca wartość.
SQL_DATETIME_SUB smallint Podkod interwału ISO w czasie daty, jeśli wartość SQL_DATA_TYPE to SQL_DATETIME lub SQL_INTERVAL. Dla typów danych innych niż czas iinterwał ISO, pole to jest .NULL
CHAR_OCTET_LENGTH int Maksymalna długość w bajtach kolumny znaku lub binarnego typu danych. Dla wszystkich pozostałych typów danych ta kolumna zwraca .NULL
ORDINAL_POSITION int Pozycja porządkowa kolumny w tabeli. Pierwsza kolumna w tabeli to 1. Ta kolumna zawsze zwraca wartość.
IS_NULLABLE varchar(254) Nieważność kolumny w tabeli. Stosuje się zasady ISO w celu określenia nieważności. DBMS zgodny z ISO nie może zwrócić pustego ciągu.

Pokazuje, YES czy kolumna może zawierać wartości zerowe, a NO jeśli nie może zawierać wartości zerowych.

Ta kolumna zwraca ciąg o zerowej długości, jeśli nieznana jest nieważność.

Wartość zwracana dla tej kolumny różni się od wartości zwracanej dla kolumny NULLABLE .
SS_DATA_TYPE tinyint Typ danych SQL Server używany przez rozszerzone procedury przechowywane. Więcej informacji można znaleźć w artykule Typy danych (Transact-SQL).

Uwagi

sp_sproc_columns jest równoważna w SQLProcedureColumns ODBC. Wyniki zwracane są uporządkowane według PROCEDURE_QUALIFIER, PROCEDURE_OWNER, PROCEDURE_NAME, oraz kolejności, w jakiej parametry pojawiają się w definicji procedury.

Permissions

Wymaga SELECT zgody na schemat.