返回當(dāng)前環(huán)境中的存儲過程列表。
sp_stored_procedures [[@sp_name =] 'name']
[,[@sp_owner =] 'owner']
[,[@sp_qualifier =] 'qualifier']
[@sp_name =] 'name'
是用于返回目錄信息的過程名。name 的數(shù)據(jù)類型是 nvarchar(390),默認(rèn)設(shè)置為 NULL。支持通配符模式匹配。
[@sp_owner =] 'owner'
是過程所有者的名稱。owner 的數(shù)據(jù)類型為 nvarchar(384),默認(rèn)設(shè)置為 NULL。支持通配符模式匹配。如果未指定 owner,則應(yīng)用基礎(chǔ) DBMS 的默認(rèn)過程可視性規(guī)則。
在 Microsoft® SQL Server™ 中,如果當(dāng)前用戶擁有帶指定名稱的過程,則返回該過程。如果未指定 owner 且當(dāng)前用戶不擁有帶指定 name 的過程,則該過程查找由數(shù)據(jù)庫所有者擁有的帶指定 name 的過程。如果存在這樣的過程,則返回該過程。
[@qualifier =] 'qualifier'
是過程限定符的名稱。qualifier 的數(shù)據(jù)類型是 sysname,默認(rèn)設(shè)置為 NULL。多種 DBMS 產(chǎn)品支持表的三部分命名方式 (qualifier.owner.name)。在 SQL Server 中,該列表示數(shù)據(jù)庫名。在某些產(chǎn)品中,該列表示表所在數(shù)據(jù)庫環(huán)境的服務(wù)器名。
無
列名 | 數(shù)據(jù)類型 | 描述 |
---|---|---|
PROCEDURE_QUALIFIER | sysname | 過程限定符名稱。該字段可以為 NULL。 |
PROCEDURE_OWNER | sysname | 過程所有者名稱。該字段始終返回值。 |
PROCEDURE_NAME | nvarchar(134) | 過程名。該字段始終返回值。 |
NUM_INPUT_PARAMS | int | 留作以后使用。 |
NUM_OUTPUT_PARAMS | int | 留作以后使用。 |
NUM_RESULT_SETS | int | 留作以后使用。 |
REMARKS | varchar(254) | 對過程的描述。SQL Server 不為該列返回值。 |
PROCEDURE_TYPE | smallint | 過程類型。SQL Server 始終返回 2.0??梢允牵?br /> 0 = SQL_PT_UNKNOWN |
為獲得最大的互操作性,網(wǎng)關(guān)客戶端應(yīng)只采用 SQL-92 標(biāo)準(zhǔn)模式匹配(% 和 _ 通配符)。
由于不就當(dāng)前用戶對特定存儲過程執(zhí)行訪問的特權(quán)信息進(jìn)行必要的檢查,因此訪問得不到保障。注意只使用三部分命名方式,因此在 SQL Server 上執(zhí)行該過程時,只返回本地存儲過程,不返回遠(yuǎn)程存儲過程(這類過程需要四部分命名方式)。如果 sp_server_info 的結(jié)果集中的服務(wù)器特性 ACCESSIBLE_SPROC 為 Y,則只返回可由當(dāng)前用戶執(zhí)行的存儲過程。
在 ODBC 中,sp_stored_procedures 與 SQLProcedures 等效。返回的結(jié)果按 PROCEDURE_QUALIFIER、PROCEDURE_OWNER 和 PROCEDURE_NAME 排序。
執(zhí)行權(quán)限默認(rèn)授予 public 角色。
相關(guān)文章