暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

oracle日常操作命令(上)

Oracle技术就绪 2015-09-18
304

如何列出表的结构

当你完成表的创建后,表结构的各项信息(表名、列名、类型等)就已经自动存储到Oracle系统的数据字典中。对于开发人员和DBA都需要了解相关表的结构。

问题的提出

Oracle系统的表结构存储在数据字典内,我们如何直接列出某个表的结构是开发人员关心的问题,那么如何列出某个表的基本结构呢?

实现技术

SQL*Plus使用DESCript命令可列出表的基本结构,也可列出存储过程等的相关信息,可在SQL>提示下使用DESC 命令即可实现。

实现步骤

要列出你所关心的表的结构,你需要知道表的名词,如要列出emp表的结果,则:

--

--适应版本:Oracle 9i~12c

--

SQL> desc emp

名称 是否为空? 类型

----------------------------------------- -------- ------------

EMPNO NOT NULL NUMBER(4)

ENAME VARCHAR2(10)

JOB VARCHAR2(9)

MGR NUMBER(4)

HIREDATE DATE

SAL NUMBER(7,2)

COMM NUMBER(7,2)

DEPTNO NUMBER(2)

说明

这里需要指出的是:用DESC命令只能列出的表基本的结构,对于表包含的主键、约束等不会被列出来,要想得到表的结构详细信息,建议采用DBMS_MEDATATA包实现,关于这个内置包的详细见后面章节。

如何重复执行最后的SQL语句

在开发与管理过程中,我们一般都输入多条SQL语句,但是,在SQL>缓冲区中Oracle只为会话保持最后一条SQL语句,当你希望重复执行同一条语句进行时实际上执行最后一条语句。

问题的提出

许多地方都需要用到重复执行同一条SQL语句这样的要求,使用者不再重新输入即可多次执行。在SQL*Plus中支持重复执行同一条SQL语句的功能,那么,具体如何实现呢?

实现技术

要在SQL*Plus环境下重复执行同一条SQL语句或同一个PL/SQL语句时,这条语句必须先存在SQL的缓冲区中。当SQL语句还在SQL缓冲区时,就可使用斜扛(/)来实现。

实现步骤

为了能执行某个SQL语句,则首先将该语句输入到SQL缓冲区(我们在“SQL>”提示下所输入的SQL语句实际就进入了SQL缓冲区),然后在SQL>后面用“/”来实现执行上面刚输入的SQL语句,如:

--

--适应版本:Oracle 9i~12c

--

SQL> select * from dept;

DEPTNO DNAME LOC

---------- -------------- -------------

50 abc Beiijing

10 ACCOUNTING NEW YORK

20 RESEARCH DALLAS

30 SALES CHICAGO

40 OPERATIONS BOSTON

60 dlld tj

已选择6行。

SQL>--下面是用 / 来重复执行目前还在缓冲区的SELECT 语句:

SQL> /

DEPTNO DNAME LOC

---------- -------------- -------------

50 abc Beiijing

10 ACCOUNTING NEW YORK

20 RESEARCH DALLAS

30 SALES CHICAGO

40 OPERATIONS BOSTON

60 dlld tj

已选择6行。

说明

SQL>上输入“/(斜扛) 来实现符号, Oracle系统用run命令也能执行SQL语句。但是Oracle原厂很少使用run命令。


如何用记事本编辑当前SQL语句

SQL*Plus环境中编辑SQL语句是一个经常使用的方法,编辑可以将现有的SQL语句进行修改后变为满足新要求的SQL语句。

问题的提出

SQL>环境中编辑目前缓冲区中的SQL语句,可通过修改SQL语句而不是重新输入快速满足需要,那么如何启动文本编辑窗口呢?

实现技术

SQL>提示下,在MS-Windows环境,Oracle 支持自动启动记事本编辑窗口,但是在UNIX环境下可支持进入vi编辑器。

实现步骤

SQL>提示下,可输入ed 来进入到“记事本”编辑窗,当编辑SQL语句完成点击“文件”选择“保存”,然后选择“退出”再回到SQL>提示下。

说明

MS-Windows环境支持在SQL>提示下直接进入“记事本”编辑器,我们建议你在调试期可以这样做,但在大型系统的设计与开发过程中,可采用更有效的方法实现。

特别提醒的是:当你在Unix(Linux)环境登录到SQL>时,你千万不要使用 ed 来实现进入“记事本”文本编辑器,这样会导致敲击任何建都不被识别的状态。



Oready即为“One Technology Ready”!

Oready不仅仅是数据库领域的专家,同时也是一个社区,我们汇集百位数据库领域资深顾问、讲师,服务于数据中心的技术支持与技能传授,注重对客户的关键数据库运营支撑,强调经验的分享-Skill Transfer,聚焦数据中心的完美结合.


文章转载自Oracle技术就绪,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论