Oracle入门(五B)之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 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命令相关推荐
- Oracle入门(五)之基本命令操作
一.show (1)查询Oracle系统变量值 语法:show 变量名 show all --查看所有68个系统变量值 show user --显示当前连接用户 注:Oracle的68个系统变量的 ...
- 脑残式网络编程入门(五):每天都在用的Ping命令,它到底是什么?
本文引用了公众号纯洁的微笑作者奎哥的技术文章,感谢原作者的分享. 1.前言 老于网络编程熟手来说,在测试和部署网络通信应用(比如IM聊天.实时音视频等)时,如果发现网络连接超时,第一时间想到的就是使用 ...
- Oracle入门命令
net start OracleOraDb11g_home1TNSListener net start OracleServiceORCL 启动oracle服务 net stop Ora ...
- oracle入门学习(3) 所用的学习环境介绍与设置
oracle入门学习(3) 原文见我的QQ空间:http://user.qzone.qq.com/284648964?ptlang=2052 由于原文是写在我的QQ空间,文章转过来的过程中造图片丢失, ...
- Oracle入门(十三)之SQL的DML
数据操纵语言(Data Manipulation Language, DML)是SQL语言中,负责对数据库对象运行数据访问工作的指令集,以INSERT.UPDATE.DELETE三种指令为核心,分别代 ...
- Linux学习:入门,概述,常用命令,环境安装
服务器购买配置 参考:狂神说Linux 基于CentOS7 Linux一切皆文件:读,写 一.入门概述 二.Linux命令 1. 开机登录 可以使用 man [命令]来查看各个命令的使用文档,如 :m ...
- Oracle入门(十三C)之高级查询(下)
上章:Oracle入门(十三B)之高级查询(上) 四.常见组函数 SUM.AVG.COUNT.MIN.MAX 分组函数忽略null 值. 不能在WHERE 子句中使用组函数. MIN 和MAX 可用于 ...
- Oracle入门(十二)之SQL的DDL
一.数据类型 Character 数据类型 Number 数据类型 Date 数据类型 Raw 和 Long Raw 数据类型 LOB 数据类型 注:Oracle数据类型详解 二.表 (1)创建表 c ...
- MySQL入门 (五) : CRUD 与资料维护
1 取得表格资讯 1.1 DESCRIBE指令 「DESCRIBE」是MySQL资料库提供的指令,它只能在MySQL资料库中使用,这个指令可以取得某个表格的结构资讯,它的语法是这样的: 你在MySQL ...
- oracle入门很简单豆瓣,Oracle入门经典
<Oracle入门经典>以初学者为核心,全面介绍了Oracle数据库管理与开发相关的各种技术.在内容排列上由浅入深,让读者循序渐进地掌握Oracle数据库技术:在内容讲解上结合丰富的图解和 ...
最新文章
- monkey命令_何小伟:Monkey与MonkeyRunner区别
- 虚幻引擎C++终极射手教程 Unreal Engine C++ The Ultimate Shooter Course
- php一些单选、复选框的默认选择方法(示例)
- B计划 第四周(开学第一周)
- addeventlistener事件第三个参数 passive_JS DOM 事件流、事件冒泡
- Java行为参数化(一)
- 【信号】信号集、sigprocmask、sigpending
- golang时间类型转换
- Android开发继承webview,WebView如何从当前的Android主题继承颜色?
- SQL Server全文搜索
- 解决 GitHub 拉取代码网速慢的问题
- html中多个div分开排列,CSS+DIV设计实例:多个DIV排列时居中
- 阿里云EMAS 移动推送发布uni-app插件
- 对行场、带宽很好解析的一文章
- java农夫过河_C语言实现农夫过河代码及解析
- 新年Java小游戏之「年兽大作战」祝您笑口常开
- 来给美剧比个 yeah! ——最最值得一看的科幻
- Qt获取本机IP、MAC地址、子网掩码、网卡名等函数设计
- 为什么要用Qt开发(Qt跨平台应用开发)
- 学堂在线答案计算机应用基础,《计算机应用基础》离线作业答案
热门文章
- [MyBatisPlus]测试BaseMapper的功能测试自定义功能
- python注入进程_向进程中注入Python代码
- HTML怎么去除数组的重复元素,js去除数组中重复元素并排序
- 对全局变量,static静态变量的理解
- Codeforces Round #610 (Div. 2) D. Enchanted Artifact 交互 + 思维
- HDU - 4497 GCD and LCM 数论gcd
- 【APIO2016】Fireworks【闵可夫斯基和】【凸包向量和】【可并堆】
- [ZJOI2015] 幻想乡战略游戏(树链剖分 + 线段树二分 + 带权重心)
- P6242-[模板]线段树3【吉司机线段树】
- UOJ#351-新年的叶子【树的直径,数学期望】