Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 参考 » 使用 SQL » SQL 语句 » SQL 语句 (A-D)

 

DESCRIBE 语句 [Interactive SQL]

DESCRIBE 语句会返回有关给定数据库对象的信息。

语法 1 - 描述数据库对象
DESCRIBE [ [ INDEX FOR ] TABLE | PROCEDURE ] [ owner.]object-name
 object-name: table, view, materialized view, procedure, or function
语法 2 - 描述当前连接
DESCRIBE CONNECTION
参数
  • INDEX FOR 子句   指明想要查看指定 object-name 的索引。

  • TABLE 子句   指明要描述的 object-name 是表或视图。

  • PROCEDURE 子句   指明 object-name 是过程或函数。

注释

DESCRIBE TABLE 用于列出指定表或视图中的所有列。DESCRIBE TABLE 语句将对每个表列都返回一个数据行,包括:

  • Column   列的名称。

  • Type   列中的数据类型。

  • Nullable   是否允许空值(1= 是,0= 否)。

  • Primary Key   列是否在主键中(1= 是,0= 否)。

DESCRIBE INDEX FOR TABLE 用于列出指定表的所有索引。DESCRIBE TABLE 语句将对每个索引都返回一个数据行,包括:

  • Index Name   索引的名称。

  • Columns   索引中的列。

  • Unique    索引是否唯一(1= 是,0= 否)。

  • Type   索引的类型。可能的值为:Clustered、Statistic、Hashed 和 Other。

DESCRIBE PROCEDURE 用于列出指定过程或函数所使用的所有参数。DESCRIBE PROCEDURE 语句将对每个参数都返回一行,包括:

  • Parameter   参数的名称。

  • Type   参数的数据类型。

  • In/Out   有关传递到参数,或从参数返回的内容的信息。可能的值为:

    • 输入   将参数传递到过程,但未进行修改。

    • 输出   过程忽略参数的初始值,并在过程返回时设置参数的值。

    • 输入/输出   将参数传递到过程,并过程返回时由过程设置参数的值。

    • 结果   参数返回一个结果集。

    • 返回   参数返回一个已声明的返回值。

如果未指定 TABLE 或 PROCEDURE(例如,DESCRIBE object-name),则 Interactive SQL 会假定对象是一个表。但如果不存在此类表,Interactive SQL 会尝试将对象描述为过程或函数。

使用语法 2 可以列出有关与 Interactive SQL 连接的数据库或数据库服务器的信息。返回以下属性:

  • Database Product   Interactive SQL 连接到的数据库产品的名称和版本号(例如,SQL Anywhere 11.0.0.83)。

  • Host Name   运行数据库服务器的计算机的网络名称。

  • Host TCP/IP Address   运行数据库服务器的计算机的 IP 地址。

  • Host Operating System   运行数据库服务器的计算机所使用的操作系统的名称和版本号。

  • 服务器名   数据库服务器的名称。

  • 服务器 TCP/IP 端口   数据库服务器的当前连接所使用的端口号。

  • Database Name   与 Interactive SQL 连接的数据库的名称。

  • 数据库字符集   数据库中用于 CHAR 列的字符集。

  • Connection String   用于连接到数据库或数据库服务器的连接字符串。用三个星号替换口令。

忽略不适用于当前连接的属性。例如,如果连接到使用共享内存的数据库服务器,则忽略 TCP/IP 端口。

权限

副作用

另请参见
标准和兼容性
  • SQL/2003   服务商扩充。

示例

描述 Departments 表中的列:

DESCRIBE TABLE Departments;

下面是此语句的结果集示例:

Column Type Nullable Primary key
DepartmentID integer 0 1
DepartmentName char(40) 0 0
DepartmentHeadID integer 0 0

列出 Customers 表的索引:

DESCRIBE INDEX FOR TABLE Customers;

下面是此语句的结果示例:

Index Name Columns Unique Type
IX_customer_name Surname,GivenName 0 Clustered