• 相关软件
    >sp_tables 创建者:webmaster 更新时间:2006-02-16 15:51

    返回当前环境下可查询的对象的列表(任何可出现在 FROM 子句中的对象)。


                                           
    语法


    sp_tables [ [ @table_name = ] 'name' ]

        [ , [ @table_owner = ] 'owner' ]

        [ , [ @table_qualifier = ] 'qualifier' ]

        [ , [ @table_type = ] "type" ]



    参数


    [@table_name =] 'name'



    用来返回目录信息的表。name 的数据类型为 nvarchar(384),默认值为 NULL。支持通配符模式匹配。



    [@table_owner =] 'owner'



    用来返回目录信息的表的所有者。owner 的数据类型为 nvarchar(384),默认值为 NULL。支持通配符模式匹配。如果没有指定 owner,则采用基础 DBMS 默认的表可视性规则。



    在 Microsoft® SQL Server™ 中,如果当前用户拥有的表具有指定名称,则返回该表的列。如果未指定所有者,且当前用户未拥有指定名称的表,则该过程查找由数据库所有者拥有的具有指定名称的表。如果有,则返回该表的列。



    [@table_qualifier =] 'qualifier'



    是表限定符的名称。qualifier 的数据类型为 sysname,默认设置为 NULL。多种 DBMS 产品支持表的三部分命名方式 (qualifier.owner.name)。在 SQL Server 中,该列表示数据库名。在某些产品中,该列表示表所在数据库环境的服务器名。



    [,[@table_type =] "'type'"]



    值的列表,由逗号分隔,它给出指定表类型的所有表的有关信息,包括 TABLESYSTEM TABLEVIEWtype 的数据类型为 varchar(100),默认值为 NULL。



    说明  每个表类型都必须用单引号括起来,整个参数必须用双引号括起来。表类型必须大写。如果 SET QUOTED_IDENTIFIER 为 ON,那么每个单引号必须换成双引号,整个参数必须用单引号括起来。



    返回代码值




    结果集







































    列名数据类型描述
    TABLE_QUALIFIERsysname表限定符名称。在 SQL Server 中,该列表示数据库名。该字段可以为 NULL。
    TABLE_OWNERsysname表所有者名称。在 SQL Server 中,该列表示创建表的数据库用户的姓名。该字段始终返回值。
    TABLE_NAMEsysname表名。该字段始终返回值。
    TABLE_TYPEvarchar(32)表、系统表或视图。
    REMARKSvarchar(254)SQL Server 不为该列返回值。



    注释


    为达到最大互操作性,网关客户应假定只有 SQL-92 标准的 SQL 模式匹配(% 和 _ 通配符)。



    并不总是检验有关当前用户对特定表的读写特权信息,因此不能确保访问。这个结果集不仅包含表和视图,还包含网关的同名和别名,这些网关通往支持这些类型的 DBMS 产品。如果在 sp_server_info 的结果集中,服务器特性 ACCESSIBLE_TABLES 是 Y,则只返回当前用户可访问的表。



    sp_tables 与 ODBC 中的 SQLTables 等同。返回结果按 TABLE_TYPETABLE_QUALIFIERTABLE_OWNERTABLE_NAME 顺序排列。



    权限


    执行权限默认授予 public 角色。



    示例


    A. 返回可在当前环境中查询的对象的列表


    EXEC sp_tables


    B. 返回 Company 数据库中表 syscolumns 的有关信息


    EXEC sp_tables syscolumns, dbo, Company, "'SYSTEM TABLE'"

    相关文章
    本页查看次数: