必威体育Betway必威体育官网
当前位置:首页 > IT技术

Oracle入门(五B)之desc命令

时间:2019-06-22 00:43:01来源:IT技术作者:seo实验室小编阅读:74次「手机版」
 

desc

翻译自   describe

describe命令

列出指定表的列定义,视图或同义词,或指定函数或存储过程的详述。

语法:desc[ribe]   {[模式.]对象[@链接串]}

模式

表示对象驻留的架构。如果省略架构,sql*Plus假定拥有自己的对象。

对象

表示要描述的表、视图、类型、过程、函数、包或同义词。

@链接串

包含与对象存在的数据库对应的数据库链接名称。有关哪些特权允许访问不同架构中的另一个表的更多信息,请参阅oracle数据库SQL引用。

用法

说明 对于表,视图,类型和同义词包含以下信息:

  • 每列的名称

  • 是否允许空值(NULL或NOT NULL)用于每列

  • 数据类型的列,例如CHAR,DATE, 长,LONGRAW,NUMBER, 生的,ROWID,VARCHAR2 (VARCHAR)或XMLType

  • 列的精度(以及数字列的缩放比例,如果有的话)

在执行DESCRIBE时,VARCHAR列将返回一个VARCHAR2类型。

DESCRIBE命令使您能够递归地描述对象到SET DESCRIBE命令中设置的深度级别。当对象包含多个对象类型时,您还可以显示属性或列名的行号和缩进。有关更多信息,请参阅SET命令。

要控制显示数据的宽度,请使用SET LINESIZE命令。

DESCRIBE命令的列输出通常分配一定比例的当前指定的行大小。使用SET LINESIZE命令减小或增加行大小通常会使每列按比例变小或变大。这可能会给您的显示器带来意想不到的文字包装。有关更多信息,请参阅SET命令。

说明 功能和程序包含以下信息:

  • PL / SQL对象的类型(函数或过程)

  • 函数或过程的名称

  • 返回的值的类型(对于函数)

  • 参数名称,类型,输入或输出以及默认值(如果有的话)

  • ENCRYPT关键字来指示列中的数据是否被加密

例子

描述视图EMP_DETaiLS_VIEW的结构

DESCRIBE EMP_DETAILS_VIEW

 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------
 EMPLOYEE_ID                               NOT NULL NUMBER(6)
 JOB_ID                                    NOT NULL VARCHAR2(10)
 MANAGER_ID                                         NUMBER(6)
 DEPARTMENT_ID                                      NUMBER(4)
 LOCATION_ID                                        NUMBER(4)
 COUNTRY_ID                                         CHAR(2)
 FIRST_NAME                                         VARCHAR2(20)
 LAST_NAME                                 NOT NULL VARCHAR2(25)
 SALARY                                             NUMBER(8,2)
 COMMISSION_PCT                                     NUMBER(2,2)
 DEPARTMENT_NAME                           NOT NULL VARCHAR2(30)
 JOB_title                                 NOT NULL VARCHAR2(35)
 CITY                                      NOT NULL VARCHAR2(30)
 STATE_PROVINCE                                     VARCHAR2(25)
 COUNTRY_NAME                                       VARCHAR2(40)
 REGION_NAME                                        VARCHAR2(25)

描述存储过程CUSTOMER_LOOKUP的结构

DESCRIBE customer_lookup

PROCEDURE customer_lookup
Argument Name           Type     In/Out   Default?
----------------------  -------- -------- ---------
CUST_ID                 NUMBER   IN
CUST_NAME               VARCHAR2 OUT

创建和描述包APACK包含存储过程aproc和bproc的结构

CREATE PACKAGE apack AS
PROCEDURE aproc(P1 CHAR, P2 NUMBER);
PROCEDURE bproc(P1 CHAR, P2 NUMBER);
END apack;
/

Package created.

DESCRIBE apack

PROCEDURE APROC
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 P1                             CHAR                    IN
 P2                             NUMBER                  IN
PROCEDURE BPROC
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 P1                             CHAR                    IN
 P2                             NUMBER                  IN

创建和描述包含属性STREET和CITY的对象类型ADDRESS

CREATE TYPE ADDRESS AS OBJECT
  ( STREET  VARCHAR2(20),
    CITY    VARCHAR2(20)
  );
/

Type created.

DESCRIBE address

 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------
 STREET                                             VARCHAR2(20)
 CITY                                               VARCHAR2(20)

创建和描述包含属性LAST_NAME,EMPADDR,JOB_ID和SALARY的对象类型EMPLOYEE

CREATE TYPE EMPLOYEE AS OBJECT
(LAST_NAME VARCHAR2(30),
EMPADDR ADDRESS,
JOB_ID VARCHAR2(20),
SALARY NUMBER(7,2)
);
/

Type created.

DESCRIBE employee

 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------
 LAST_NAME                                          VARCHAR2(30)
 EMPADDR                                            ADDRESS
 JOB_ID                                             VARCHAR2(20)
 SALARY                                             NUMBER(7,2)

创建对象类型addr_type 并描述作为对象类型ADDRESS的一个表

CREATE TYPE addr_type IS TABLE OF ADDRESS;/

Type created.

DESCRIBE addr_type

 addr_type TABLE OF ADDRESS
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------
 STREET                                             VARCHAR2(20)
 CITY                                               VARCHAR2(20)

创建对象类型addr_varray并描述作为对象类型ADDRESS的一个数组
CREATE TYPE addr_varray AS VARRAY(10) OF ADDRESS;/

Type created.

DESCRIBE addr_varray

 addr_varray VARRAY(10) OF ADDRESS
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------
 STREET                                             VARCHAR2(20)
 CITY                                               VARCHAR2(20)

创建和描述包含列DEPARTMENT_ID, PERSON和LOC的表department

CREATE TABLE department
(DEPARTMENT_ID NUMBER,
PERSON EMPLOYEE,
LOC NUMBER
);
/

Table created.

DESCRIBE department

 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------
 DEPARTMENT_ID                                      NUMBER
 PERSON                                             EMPLOYEE
 LOC                                                NUMBER

创建和描述包含属性NUMERATOR和DENOMINATOR的对象类型rational以及 METHOD rational_order

CREATE OR REPLACE TYPE rational AS OBJECT
(NUMERATOR NUMBER,
DENOMINATOR NUMBER,
MAP MEMBER FUNCTION rational_order - 
RETURN DOUBLE PRECISION,
pragma restrict_references
(rational_order, RNDS, WNDS, RNPS, WNPS) );
/
CREATE OR REPLACE TYPE BODY rational AS OBJECT
MAP MEMBER FUNCTION rational_order - 
RETURN DOUBLE PRECISION IS 
BEGIN
  RETURN NUMERATOR/DENOMINATOR;
END;
END;
/
DESCRIBE rational

Name                             Null?      Type
------------------------------   --------   ------------
NUMERATOR                                   NUMBER
DENOMINATOR                                 NUMBER

METHOD
------
MAP MEMBER FUNCTION RATIONAL_ORDER RETURNS NUMBER

创建包含XMLType列的表,,并且描述其结构

CREATE TABLE PROPERTY (Price NUMBER, Description SYS.XMLTYPE);

Table created

DESCRIBE PROPERTY;

Name                                       Null?     Type
-----------------------------------------  --------  ----------------------
PRICE                                                NUMBER
DESCRIPTION                                          SYS.XMLTYPE

格式化DESCRIBE输出,请使用SET命令,如下所示:
SET LINESIZE 80
SET DESCRIBE depth 2
SET DESCRIBE INDENT ON
SET DESCRIBE LINE OFF

要显示对象的设置,请按如下所示使用SHOW命令:

SHOW DESCRIBE

DESCRIBE DEPTH 2 LINENUM OFF INDENT ON

DESCRIBE employee

 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------
 FIRST_NAME                                         VARCHAR2(30)
 EMPADDR                                            ADDRESS
   STREET                                           VARCHAR2(20)
   CITY                                             VARCHAR2(20)
 JOB_ID                                             VARCHAR2(20)
 SALARY                                             NUMBER(7,2)

要创建并描述包含加密列col2的表des2_table

CREATE TABLE des2_table (
col1 VARCHAR2(10),
col2 VARCHAR2(15) ENCRYPT,
col3 CHAR(5),
col4 CHAR(20));

Table created

DESCRIBE des2_table;

Name                                       Null?     Type
-----------------------------------------  --------  ----------------------
COL1                                                 VARCHAR2(10)
COL2                                                 VARCHAR2(15) ENCRYPT
COL3                                                 CHAR(5)
COL4                                                 CHAR(20)

相关阅读

SecureCRT常用的几个命令

cd yd_billing/ cp YD_Billing-0.0.1-SNAPSHOT.jar YD_Billing-0.0.1-SNAPSHOT.jar20180821 备份文件 rm boss-0.0.1-SNAPSHOT.ja

网络-----Linux下常见网络命令总结

1、ping ping 命令是用来测试TCP/IP 网络是否畅通或者测试网络连接速度的命令,对确定网络是否正确连接,以及网络连接的状况十分有

有没有碰到用reboot命令不能重启

找到原因了。之前在/etc/rc.local下写了一个脚本,这个脚本是while一直循环运行的,所以没有退出rc.local,也就是说init调用个没有释放

Linux 关机重启命令

Linux的关机与重启命令重启命令:1、reboot2、shutdown -r now 立刻重启(root用户使用)3、shutdown -r 10 过10分钟自动重启(root

windows dos 常用命令行(完整)

dir (directory) :列出当前目录下的文件以及文件夹md (make directory): 创建目录rd (remove directory):删除目录cd (change direct

分享到:

栏目导航

推荐阅读

热门阅读