Udostępnij za pomocą


sp_columns_ex (Transact-SQL)

Dotyczy:SQL Server

Zwraca informacje o kolumnie, po jednym wierszu na kolumnę, dla określonych powiązanych tabel serwera. sp_columns_ex zwraca informacje o kolumnach tylko dla konkretnej kolumny, jeśli @column_name jest określone.

Transact-SQL konwencje składni

Składnia

sp_columns_ex
    [ @table_server = ] N'table_server'
    [ , [ @table_name = ] N'table_name' ]
    [ , [ @table_schema = ] N'table_schema' ]
    [ , [ @table_catalog = ] N'table_catalog' ]
    [ , [ @column_name = ] N'column_name' ]
    [ , [ @ODBCVer = ] ODBCVer ]
[ ; ]

Arguments

[ @table_server = ] N'table_server'

Nazwa powiązanego serwera, dla którego zwraca się informacja kolumn. @table_server to sysname, bez domyślnego ustawienia.

[ @table_name = ] N'table_name'

Nazwa tabeli, dla której zwraca się informacje kolumnowe. @table_name to nazwa systemu, z domyślnym .NULL

[ @table_schema = ] N'table_schema'

Nazwa schematu tabeli, dla której zwraca się informacje kolumnowe. @table_schema to nazwa systemu z domyślnym .NULL

[ @table_catalog = ] N'table_catalog'

Katalogowa nazwa tabeli, dla której zwraca się informacje o kolumnach. @table_catalog to nazwa systemu, z domyślnym .NULL

[ @column_name = ] N'column_name'

Nazwa kolumny bazy danych, dla której należy podać informacje. @column_name jest nazwą systemu z domyślnym .NULL

[ @ODBCVer = ] ODBCVer

Wersja ODBC, która jest używana. @ODBCVer jest int, z domyślnym obciążeniem 2. To wskazuje na wersję ODBC 2. Prawidłowe wartości to 2 lub 3. Aby uzyskać informacje o różnicach w zachowaniu między wersjami 2 i 3, zobacz specyfikację ODBC SQLColumns .

Zwracanie wartości kodu

Żaden.

Zestaw wyników

Nazwa kolumny Typ danych Description
TABLE_CAT sysname Tabela lub widok nazwy kwalifikatora. Różne produkty DBMS obsługują trzyczęściowe nazewnictwo tabel (<qualifier>.<owner>.<name>). W SQL Server ta kolumna reprezentuje nazwę bazy danych. W niektórych produktach reprezentuje nazwę serwera środowiska bazodanowego tabeli. To ciało może być .NULL
TABLE_SCHEM sysname Tabela lub widok właściciela. W SQL Server ta kolumna reprezentuje nazwę użytkownika bazy danych, który stworzył tabelę. To pole zawsze zwraca wartość.
TABLE_NAME sysname Tabela lub nazwa widoku. To pole zawsze zwraca wartość.
COLUMN_NAME sysname Nazwa kolumny, dla każdej kolumny zwróconej kolumny TABLE_NAME . To pole zawsze zwraca wartość.
DATA_TYPE smallint Wartość int odpowiadająca wskaźnikom typu ODBC. Jeśli jest to typ danych, którego nie można odwzorować na typ ODBC, wartość ta wynosi .NULL Natywna nazwa typu danych jest zwracana w kolumnie TYPE_NAME .
TYPE_NAME varchar(13) Ciąg reprezentujący typ danych. Bazowy DBMS prezentuje tę nazwę typu danych.
COLUMN_SIZE int Liczba cyfr znaczących. Wartość zwrotu dla kolumny PRECISION znajduje się w bazie 10.
BUFFER_LENGTH int Rozmiar transferu danych.1
DECIMAL_DIGITS smallint Liczba cyfr po prawej stronie przecinka.
NUM_PREC_RADIX smallint Podstawa dla numerycznych typów danych.
NULLABLE smallint Określa możliwość zerowania.

1 = NULL jest możliwe.
0 = NOT NULL.
REMARKS varchar(254) To pole zawsze zwraca NULL.
COLUMN_DEF varchar(254) 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 typów interwałów SQL-92. Ta kolumna zawsze zwraca wartość.
SQL_DATETIME_SUB smallint Kod podtypu dla datowych i interwałowych typów SQL-92. Dla innych typów danych ta kolumna zwraca NULL.
CHAR_OCTET_LENGTH int Maksymalna długość w bajtach kolumny znaku lub całkowitoliczbowego 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 SQL nie może zwrócić pustego ciągu znaków.

YES = Kolumna może zawierać NULL.
NO = Kolumna nie może zawierać NULL.

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 przeglądzie ODBC.

Uwagi

  • sp_columns_ex jest wykonywany przez zapytanie do zestawu COLUMNS wierszy interfejsu dostawcy OLE DB odpowiadającego IDBSchemaRowset@table_server. Parametry @table_name, @table_schema, @table_catalog i @column_name są przekazywane do tego interfejsu, aby ograniczyć liczbę zwracanych wierszy.

  • sp_columns_ex zwraca pusty zbiór wyników, jeśli dostawca bazy danych OLE na określonym serwerze powiązanym nie obsługuje zestawu COLUMNS wierszy interfejsu IDBSchemaRowset .

  • sp_columns_ex spełnia wymagania dotyczące identyfikatorów delimitowanych. Aby uzyskać więcej informacji, zobacz Identyfikatory bazy danych.

Permissions

Wymaga SELECT zgody na schemat.

Przykłady

Poniższy przykład zwraca typ danych kolumny JobTitleHumanResources.Employee tabeli w AdventureWorks2025 bazie danych na połączonym serwerze Seattle1.

EXECUTE sp_columns_ex 'Seattle1',
    'Employee',
    'HumanResources',
    'AdventureWorks2022',
    'JobTitle';