sp_sproc_columns (Transact-SQL)
適用於:SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW) Microsoft Fabric 的 SQL 端點分析 Microsoft Fabric 的倉儲
傳回目前環境中單一預存程式或使用者定義函數的數據行資訊。
語法
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 ]
[ ; ]
引數
[ @procedure_name = ] N'procedure_name'
用來傳回目錄資訊的程式名稱。 @procedure_name是 nvarchar(390),預設值%
為 ,這表示目前資料庫中的所有數據表。 支援通配符模式比對。
[ @procedure_owner = ] N'procedure_owner'
程式擁有者的名稱。 @procedure_owner為 nvarchar(384),預設值為 NULL
。 支援通配符模式比對。 如果未 指定@procedure_owner ,則會套用基礎資料庫管理系統 (DBMS) 的預設程序可見性規則。
如果目前用戶擁有具有指定名稱的程式,則會傳回該程式的相關信息。 如果未 指定@procedure_owner ,且目前使用者未擁有具有指定名稱的程式, sp_sproc_columns
請尋找具有資料庫擁有者所擁有指定名稱的程式。 如果程式存在,則會傳回其數據行的相關信息。
[ @procedure_qualifier = ] N'procedure_qualifier'
程式限定元的名稱。 @procedure_qualifier為 sysname,預設值為 NULL
。 各種 DBMS 產品支援數據表的三部分命名(<qualifier>.<owner>.<name>
)。 在 SQL Server 中,此參數代表資料庫名稱。 在某些產品中,它代表數據表資料庫環境的伺服器名稱。
[ @column_name = ] N'column_name'
單一資料行,當只需要一個目錄資訊資料行時,就會使用 。 @column_name為 nvarchar(384),預設值為 NULL
。 如果 省略@column_name ,則會傳回所有數據行。 支援通配符模式比對。 為了達到最大互操作性,閘道客戶端應該只假設 ISO 標準模式比對 (% 和 _ 通配符)。
[ @ODBCVer = ] ODBCVer
正在使用的 ODBC 版本。 @ODBCVer為 int,預設值2
為 ,表示 ODBC 2.0 版。 如需 ODBC 2.0 版與 ODBC 3.0 版之間差異的詳細資訊,請參閱 ODBC 3.0 版的 ODBC SQLProcedureColumns
規格。
[ @fUsePattern = ] fUsePattern
判斷底線 ()、百分比%
(_
) 和方括弧 ([
和]
) 字元是否解譯為通配符。 @fUsePattern為 bit,預設值為 1
。 有效值為 0
(模式比對已關閉)和 1
(模式比對為開啟)。
傳回碼值
無。
結果集
資料行名稱 | 資料類型 | 描述 |
---|---|---|
PROCEDURE_QUALIFIER |
sysname | 程式限定元名稱。 這個資料列可以是 NULL 。 |
PROCEDURE_OWNER |
sysname | 程式擁有者名稱。 這個資料行一律會傳回值。 |
PROCEDURE_NAME |
nvarchar(134) | 程式名稱。 這個資料行一律會傳回值。 |
COLUMN_NAME |
sysname | 所傳回之每個數據行的數據 TABLE_NAME 行名稱。 這個資料行一律會傳回值。 |
COLUMN_TYPE |
smallint | 此欄位一律會傳回值: 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 | ODBC 數據類型的整數程序代碼。 如果此資料類型無法對應至 ISO 型態, 則值為 NULL 。 原生數據類型名稱會在數據行中 TYPE_NAME 傳回。 |
TYPE_NAME |
sysname | 數據類型的字串表示。 此值是基礎 DBMS 所呈現的數據類型名稱。 |
PRECISION |
int | 有效位數。 數據行的 PRECISION 傳回值位於基底 10 中。 |
LENGTH |
int | 資料的傳送大小。 |
SCALE |
smallint | 小數點右邊的數位數。 |
RADIX |
smallint | 數值類型的基底。 |
NULLABLE |
smallint | 指定可為 Null:1 = 可以建立允許 Null 值的數據類型。0 = 不允許 Null 值。 |
REMARKS |
varchar(254) | 程序數據行的描述。 SQL Server 不會傳回此數據行的值。 |
COLUMN_DEF |
nvarchar(4000) | 數據行的預設值。 |
SQL_DATA_TYPE |
smallint | SQL 數據類型的值,因為它出現在 TYPE 描述元的欄位中。 此數據行與數據DATA_TYPE 行相同,但日期時間和 ISO 間隔數據類型除外。 這個資料行一律會傳回值。 |
SQL_DATETIME_SUB |
smallint | 如果 值為 SQL_DATETIME SQL_DATA_TYPE 或 SQL_INTERVAL ,則為 datetime ISO 間隔子碼。 對於 datetime 和 ISO 間隔以外的資料類型,此欄位為 NULL 。 |
CHAR_OCTET_LENGTH |
int | 字元或二進位數據類型數據行的位元組長度上限。 對於所有其他資料類型,這個資料行會傳 NULL 回 。 |
ORDINAL_POSITION |
int | 數據表中數據行的序數位置。 資料表中的第一個資料列是 1 。 這個資料行一律會傳回值。 |
IS_NULLABLE |
varchar(254) | 數據表中數據行的 Null 屬性。 遵循 ISO 規則來判斷可為 Null 性。 符合 ISO 標準的 DBMS 無法傳回空字串。 顯示 YES 資料列是否可以包含 Null,如果 NO 資料列不能包含 Null,則顯示 。如果 Null 屬性未知,此資料行會傳回長度為零的字串。 針對此數據行傳回的值與針對 NULLABLE 數據行傳回的值不同。 |
SS_DATA_TYPE |
tinyint | 擴充預存程式所使用的 SQL Server 數據類型。 如需詳細資訊,請參閱數據類型(Transact-SQL)。 |
備註
sp_sproc_columns
相當於 SQLProcedureColumns
ODBC 中的 。 傳回的結果會依 PROCEDURE_QUALIFIER
、 PROCEDURE_OWNER
、 PROCEDURE_NAME
和 參數出現在程式定義中的順序排序。
權限
SELECT
需要架構的許可權。