翻译自   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 APROCArgument Name                  Type                    In/Out Default?------------------------------ ----------------------- ------ --------P1                             CHAR                    INP2                             NUMBER                  IN
PROCEDURE BPROCArgument Name                  Type                    In/Out Default?------------------------------ ----------------------- ------ --------P1                             CHAR                    INP2                             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                                            ADDRESSJOB_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 ADDRESSName                                      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 ADDRESSName                                      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                                      NUMBERPERSON                                             EMPLOYEELOC                                                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
BEGINRETURN NUMERATOR/DENOMINATOR;
END;
END;
/
DESCRIBE rational
Name                             Null?      Type
------------------------------   --------   ------------
NUMERATOR                                   NUMBER
DENOMINATOR                                 NUMBERMETHOD
------
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                                            ADDRESSSTREET                                           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)

Oracle入门(五B)之desc命令相关推荐

  1. Oracle入门(五)之基本命令操作

    一.show (1)查询Oracle系统变量值 语法:show   变量名 show all --查看所有68个系统变量值 show user --显示当前连接用户 注:Oracle的68个系统变量的 ...

  2. 脑残式网络编程入门(五):每天都在用的Ping命令,它到底是什么?

    本文引用了公众号纯洁的微笑作者奎哥的技术文章,感谢原作者的分享. 1.前言 老于网络编程熟手来说,在测试和部署网络通信应用(比如IM聊天.实时音视频等)时,如果发现网络连接超时,第一时间想到的就是使用 ...

  3. Oracle入门命令

    net start OracleOraDb11g_home1TNSListener net start OracleServiceORCL        启动oracle服务 net stop Ora ...

  4. oracle入门学习(3) 所用的学习环境介绍与设置

    oracle入门学习(3) 原文见我的QQ空间:http://user.qzone.qq.com/284648964?ptlang=2052 由于原文是写在我的QQ空间,文章转过来的过程中造图片丢失, ...

  5. Oracle入门(十三)之SQL的DML

    数据操纵语言(Data Manipulation Language, DML)是SQL语言中,负责对数据库对象运行数据访问工作的指令集,以INSERT.UPDATE.DELETE三种指令为核心,分别代 ...

  6. Linux学习:入门,概述,常用命令,环境安装

    服务器购买配置 参考:狂神说Linux 基于CentOS7 Linux一切皆文件:读,写 一.入门概述 二.Linux命令 1. 开机登录 可以使用 man [命令]来查看各个命令的使用文档,如 :m ...

  7. Oracle入门(十三C)之高级查询(下)

    上章:Oracle入门(十三B)之高级查询(上) 四.常见组函数 SUM.AVG.COUNT.MIN.MAX 分组函数忽略null 值. 不能在WHERE 子句中使用组函数. MIN 和MAX 可用于 ...

  8. Oracle入门(十二)之SQL的DDL

    一.数据类型 Character 数据类型 Number 数据类型 Date 数据类型 Raw 和 Long Raw 数据类型 LOB 数据类型 注:Oracle数据类型详解 二.表 (1)创建表 c ...

  9. MySQL入门 (五) : CRUD 与资料维护

    1 取得表格资讯 1.1 DESCRIBE指令 「DESCRIBE」是MySQL资料库提供的指令,它只能在MySQL资料库中使用,这个指令可以取得某个表格的结构资讯,它的语法是这样的: 你在MySQL ...

  10. oracle入门很简单豆瓣,Oracle入门经典

    <Oracle入门经典>以初学者为核心,全面介绍了Oracle数据库管理与开发相关的各种技术.在内容排列上由浅入深,让读者循序渐进地掌握Oracle数据库技术:在内容讲解上结合丰富的图解和 ...

最新文章

  1. monkey命令_何小伟:Monkey与MonkeyRunner区别
  2. 虚幻引擎C++终极射手教程 Unreal Engine C++ The Ultimate Shooter Course
  3. php一些单选、复选框的默认选择方法(示例)
  4. B计划 第四周(开学第一周)
  5. addeventlistener事件第三个参数 passive_JS DOM 事件流、事件冒泡
  6. Java行为参数化(一)
  7. 【信号】信号集、sigprocmask、sigpending
  8. golang时间类型转换
  9. Android开发继承webview,WebView如何从当前的Android主题继承颜色?
  10. SQL Server全文搜索
  11. 解决 GitHub 拉取代码网速慢的问题
  12. html中多个div分开排列,CSS+DIV设计实例:多个DIV排列时居中
  13. 阿里云EMAS 移动推送发布uni-app插件
  14. 对行场、带宽很好解析的一文章
  15. java农夫过河_C语言实现农夫过河代码及解析
  16. 新年Java小游戏之「年兽大作战」祝您笑口常开
  17. 来给美剧比个 yeah! ——最最值得一看的科幻
  18. Qt获取本机IP、MAC地址、子网掩码、网卡名等函数设计
  19. 为什么要用Qt开发(Qt跨平台应用开发)
  20. 学堂在线答案计算机应用基础,《计算机应用基础》离线作业答案

热门文章

  1. [MyBatisPlus]测试BaseMapper的功能测试自定义功能
  2. python注入进程_向进程中注入Python代码
  3. HTML怎么去除数组的重复元素,js去除数组中重复元素并排序
  4. 对全局变量,static静态变量的理解
  5. Codeforces Round #610 (Div. 2) D. Enchanted Artifact 交互 + 思维
  6. HDU - 4497 GCD and LCM 数论gcd
  7. 【APIO2016】Fireworks【闵可夫斯基和】【凸包向量和】【可并堆】
  8. [ZJOI2015] 幻想乡战略游戏(树链剖分 + 线段树二分 + 带权重心)
  9. P6242-[模板]线段树3【吉司机线段树】
  10. UOJ#351-新年的叶子【树的直径,数学期望】