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