sp_columns (T-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)Titik akhir analitik SQL di Microsoft FabricWarehouse di Microsoft Fabric

Mengembalikan informasi kolom untuk objek yang ditentukan yang dapat dikueri di lingkungan saat ini.

Konvensi sintaks transact-SQL

Sintaks

sp_columns [ @table_name = ] object  
     [ , [ @table_owner = ] owner ]   
     [ , [ @table_qualifier = ] qualifier ]   
     [ , [ @column_name = ] column ]   
     [ , [ @ODBCVer = ] ODBCVer ]  

Argumen

[ @table_name = ] object Adalah nama objek yang digunakan untuk mengembalikan informasi katalog. objek dapat berupa tabel, tampilan, atau objek lain yang memiliki kolom seperti fungsi bernilai tabel. objek adalah nvarchar(384), tanpa default. Pencocokan pola kartubebas didukung.

[ @table_owner = ] owner Adalah pemilik objek objek yang digunakan untuk mengembalikan informasi katalog. owner adalah nvarchar(384), dengan default NULL. Pencocokan pola kartubebas didukung. Jika pemilik tidak ditentukan, aturan visibilitas objek default dari DBMS yang mendasar berlaku.

Jika pengguna saat ini memiliki objek dengan nama yang ditentukan, kolom objek tersebut akan dikembalikan. Jika pemilik tidak ditentukan dan pengguna saat ini tidak memiliki objek dengan objek yang ditentukan, sp_columns mencari objek dengan objek yang ditentukan yang dimiliki oleh pemilik database. Jika ada, kolom objek tersebut akan dikembalikan.

[ @table_qualifier = ] qualifier Adalah nama pengkualifikasi objek. qualifier adalah sysname, dengan default NULL. Berbagai produk DBMS mendukung penamaan tiga bagian untuk objek (kualifikasi.pemilik.nama). Di SQL Server, kolom ini mewakili nama database. Dalam beberapa produk, ini mewakili nama server lingkungan database objek.

[ @column_name = ] column Adalah satu kolom dan digunakan ketika hanya satu kolom informasi katalog yang diinginkan. kolom adalah nvarchar(384), dengan default NULL. Jika kolom tidak ditentukan, semua kolom dikembalikan. Di SQL Server, kolom mewakili nama kolom seperti yang tercantum dalam tabel syscolumns . Pencocokan pola kartubebas didukung. Untuk interoperabilitas maksimum, klien gateway hanya boleh mengasumsikan pencocokan pola standar SQL-92 (karakter kartubebas % dan _ ).

[ @ODBCVer = ] ODBCVer Adalah versi ODBC yang sedang digunakan. ODBCVer adalah int, dengan default 2. Ini menunjukkan ODBC Versi 2. Nilai yang valid adalah 2 atau 3. Untuk perbedaan perilaku antara versi 2 dan 3, lihat spesifikasi ODBC SQLColumns .

Mengembalikan Nilai Kode

Tidak

Tataan Hasil

Prosedur tersimpan katalog sp_columns setara dengan SQLColumns di ODBC. Hasil yang dikembalikan diurutkan berdasarkan TABLE_QUALIFIER, TABLE_OWNER, dan TABLE_NAME.

Nama kolom Jenis data Deskripsi
TABLE_QUALIFIER nama sysname Nama kualifikasi objek. Bidang ini bisa NULL.
TABLE_OWNER nama sysname Nama pemilik objek. Bidang ini selalu mengembalikan nilai.
TABLE_NAME nama sysname Nama objek. Bidang ini selalu mengembalikan nilai.
COLUMN_NAME nama sysname Nama kolom, untuk setiap kolom TABLE_NAME dikembalikan. Bidang ini selalu mengembalikan nilai.
DATA_TYPE smallint Kode bilangan bulat untuk jenis data ODBC. Jika ini adalah tipe data yang tidak dapat dipetakan ke jenis ODBC, itu adalah NULL. Nama jenis data asli dikembalikan di kolom TYPE_NAME .
TYPE_NAME nama sysname String yang mewakili jenis data. DBMS yang mendasar menyajikan nama jenis data ini.
PRESISI int Jumlah digit signifikan. Nilai pengembalian untuk kolom PRECISION berada di basis 10.
LENGTH int Ukuran transfer data.1
SKALA smallint Jumlah digit di sebelah kanan titik desimal.
RADIX smallint Dasar untuk jenis data numerik.
NULLABLE smallint Menentukan nullability.

1 = NULL dimungkinkan.

0 = BUKAN NULL.
KOMENTAR varchar(254) Bidang ini selalu mengembalikan NULL.
COLUMN_DEF nvarchar(4000) Nilai default kolom.
SQL_DATA_TYPE smallint Nilai jenis data SQL seperti yang muncul di bidang TYPE deskriptor. Kolom ini sama dengan kolom DATA_TYPE, kecuali untuk jenis data interval tanggalwaktu dan SQL-92. Kolom ini selalu mengembalikan nilai.
SQL_DATETIME_SUB smallint Kode subjenis untuk jenis data interval datetime dan SQL-92. Untuk jenis data lainnya, kolom ini mengembalikan NULL.
CHAR_OCTET_LENGTH int Panjang maksimum dalam byte kolom tipe data karakter atau bilangan bulat. Untuk semua jenis data lainnya, kolom ini mengembalikan NULL.
ORDINAL_POSITION int Posisi ordinal kolom dalam objek. Kolom pertama dalam objek adalah 1. Kolom ini selalu mengembalikan nilai.
IS_NULLABLE varchar(254) Nullability kolom dalam objek. Aturan ISO diikuti untuk menentukan nullability. DBMS yang mematuhi ISO SQL tidak dapat mengembalikan string kosong.

YA = Kolom dapat menyertakan NULLS.

NO = Kolom tidak dapat menyertakan NULLS.

Kolom ini mengembalikan string panjang nol jika nullability tidak diketahui.

Nilai yang dikembalikan untuk kolom ini berbeda dari nilai yang dikembalikan untuk kolom NULLABLE .
SS_DATA_TYPE kecil Jenis data SQL Server yang digunakan oleh prosedur tersimpan yang diperluas. Untuk informasi selengkapnya, lihat Jenis Data (Transact-SQL).

1 Untuk informasi selengkapnya, lihat dokumentasi Microsoft ODBC.

Izin

Memerlukan izin SELECT dan VIEW DEFINITION pada skema.

Keterangan

sp_columns mengikuti persyaratan untuk pengidentifikasi yang dibatasi. Untuk informasi selengkapnya, lihat Pengidentifikasi Database.

Contoh

Contoh berikut mengembalikan informasi kolom untuk tabel tertentu.

USE AdventureWorks2022;  
GO  
EXEC sp_columns @table_name = N'Department',  
   @table_owner = N'HumanResources';  

Contoh: Azure Synapse Analytics and Analytics Platform System (PDW)

Contoh berikut mengembalikan informasi kolom untuk tabel tertentu.

-- Uses AdventureWorks  
  
EXEC sp_columns @table_name = N'DimEmployee',  
   @table_owner = N'dbo';  

Lihat Juga

sp_tables (T-SQL)
Prosedur Tersimpan Katalog (Transact-SQL)
Prosedur Tersimpan Sistem (Transact-SQL)