返回當(dāng)前環(huán)境下可查詢(xún)的對(duì)象的列表(任何可出現(xiàn)在 FROM 子句中的對(duì)象)。
sp_tables [ [ @table_name = ] 'name' ]
[ , [ @table_owner = ] 'owner' ]
[ , [ @table_qualifier = ] 'qualifier' ]
[ , [ @table_type = ] "type" ]
[@table_name =] 'name'
用來(lái)返回目錄信息的表。name 的數(shù)據(jù)類(lèi)型為 nvarchar(384),默認(rèn)值為 NULL。支持通配符模式匹配。
[@table_owner =] 'owner'
用來(lái)返回目錄信息的表的所有者。owner 的數(shù)據(jù)類(lèi)型為 nvarchar(384),默認(rèn)值為 NULL。支持通配符模式匹配。如果沒(méi)有指定 owner,則采用基礎(chǔ) DBMS 默認(rèn)的表可視性規(guī)則。
在 Microsoft® SQL Server™ 中,如果當(dāng)前用戶(hù)擁有的表具有指定名稱(chēng),則返回該表的列。如果未指定所有者,且當(dāng)前用戶(hù)未擁有指定名稱(chēng)的表,則該過(guò)程查找由數(shù)據(jù)庫(kù)所有者擁有的具有指定名稱(chēng)的表。如果有,則返回該表的列。
[@table_qualifier =] 'qualifier'
是表限定符的名稱(chēng)。qualifier 的數(shù)據(jù)類(lèi)型為 sysname,默認(rèn)設(shè)置為 NULL。多種 DBMS 產(chǎn)品支持表的三部分命名方式 (qualifier.owner.name)。在 SQL Server 中,該列表示數(shù)據(jù)庫(kù)名。在某些產(chǎn)品中,該列表示表所在數(shù)據(jù)庫(kù)環(huán)境的服務(wù)器名。
[,[@table_type =] "'type'"]
值的列表,由逗號(hào)分隔,它給出指定表類(lèi)型的所有表的有關(guān)信息,包括 TABLE、SYSTEM TABLE 和 VIEW。type 的數(shù)據(jù)類(lèi)型為 varchar(100),默認(rèn)值為 NULL。
說(shuō)明 每個(gè)表類(lèi)型都必須用單引號(hào)括起來(lái),整個(gè)參數(shù)必須用雙引號(hào)括起來(lái)。表類(lèi)型必須大寫(xiě)。如果 SET QUOTED_IDENTIFIER 為 ON,那么每個(gè)單引號(hào)必須換成雙引號(hào),整個(gè)參數(shù)必須用單引號(hào)括起來(lái)。
無(wú)
列名 | 數(shù)據(jù)類(lèi)型 | 描述 |
---|---|---|
TABLE_QUALIFIER | sysname | 表限定符名稱(chēng)。在 SQL Server 中,該列表示數(shù)據(jù)庫(kù)名。該字段可以為 NULL。 |
TABLE_OWNER | sysname | 表所有者名稱(chēng)。在 SQL Server 中,該列表示創(chuàng)建表的數(shù)據(jù)庫(kù)用戶(hù)的姓名。該字段始終返回值。 |
TABLE_NAME | sysname | 表名。該字段始終返回值。 |
TABLE_TYPE | varchar(32) | 表、系統(tǒng)表或視圖。 |
REMARKS | varchar(254) | SQL Server 不為該列返回值。 |
為達(dá)到最大互操作性,網(wǎng)關(guān)客戶(hù)應(yīng)假定只有 SQL-92 標(biāo)準(zhǔn)的 SQL 模式匹配(% 和 _ 通配符)。
并不總是檢驗(yàn)有關(guān)當(dāng)前用戶(hù)對(duì)特定表的讀寫(xiě)特權(quán)信息,因此不能確保訪問(wèn)。這個(gè)結(jié)果集不僅包含表和視圖,還包含網(wǎng)關(guān)的同名和別名,這些網(wǎng)關(guān)通往支持這些類(lèi)型的 DBMS 產(chǎn)品。如果在 sp_server_info 的結(jié)果集中,服務(wù)器特性 ACCESSIBLE_TABLES 是 Y,則只返回當(dāng)前用戶(hù)可訪問(wèn)的表。
sp_tables 與 ODBC 中的 SQLTables 等同。返回結(jié)果按 TABLE_TYPE、TABLE_QUALIFIER、TABLE_OWNER 和 TABLE_NAME 順序排列。
執(zhí)行權(quán)限默認(rèn)授予 public 角色。
EXEC sp_tables
EXEC sp_tables syscolumns, dbo, Company, "'SYSTEM TABLE'"