sp_columns (Transact-SQL)
Berlaku untuk:
SQL Server (semua versi yang didukung)
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics Analytics
Platform System (PDW)
Mengembalikan informasi kolom untuk objek tertentu yang dapat dikueri di lingkungan saat ini.
Sintaks
-- Syntax for SQL Server, Azure SQL Database, Azure Synapse Analytics, Parallel Data Warehouse
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 bisa 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 kualifikasi 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 ada
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 yang dikembalikan untuk kolom PRECISION berada di basis 10. |
| LENGTH | int | Mentransfer ukuran data. 1 |
| SKALA | smallint | Jumlah digit di sebelah kanan titik desimal. |
| RADIX | smallint | Dasar untuk jenis data numerik. |
| DAPAT DIUBAH KE NULL | smallint | Menentukan kemampuan null. 1 = NULL dimungkinkan. 0 = NOT 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 intervaldatetime dan SQL-92. Kolom ini selalu mengembalikan nilai. |
| SQL_DATETIME_SUB | smallint | Kode subjenis untuk jenis data intervaldatetime 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) | Kemampuan null 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 = Column 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 | tinyint | 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 AdventureWorks2012;
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 (Transact-SQL)
Prosedur Tersimpan Katalog (Transact-SQL)
Prosedur Tersimpan Sistem (Transact-SQL)
