设为首页 加入收藏

TOP

sql&plugs(三)
2014-11-24 02:52:24 来源: 作者: 【 】 浏览:20
Tags:sql&plugs
Home81”=》“Application on Development”=》“SQL Plus”进入如下屏幕:

在WINDOWS NT/98/2000上的登录界面(sqlplus图)

可以在用户名框内输入用户、口令及主机字串;也可以分别进行输入。

§1.5 常用SQL*PLUS 附加命令简介

Oracle公司提供的附加语句(或称命令),可以满足程序人员和管理员的一些特殊操作要求。比如,在显示超过上百行记录信息时,可以采用每屏“暂停”来实现。要达到这样的目的,就要在SQL>下发set pause on 命令。由于SQL*PLUS命令较多,下面仅给出最常用的几个命令的说明,详细的请参考附录。

§1.5.1登录到SQL*PLUS

可以用下面命令登录到SQL*PLUS,SQL*PLUS命令的简单语法如下:

SQLPLUS [ [logon] | [start] ]

logon可以是:

{username[/password][@connect_identifier]|/} [AS {SYSOPER|SYSDBA}]

|/NOLOG

注1:SQLPLUS 主要是在命令方式下使用,在NT、WINDOWS/2000、UNIX的用法都一样。

注2:如果在UNIX下,SQLPLUS命令不被识别(不存在),则问题在环境变量PATH没有设置正确或者没有设置。SQLPLUS 可执行程序在$ORACLE_HOME/bin 目录下。

§1.5.2EXIT和QUIT

可以用exit 或quit 来终止SQL*PLUS的操作(会话)。语法如下:

{EXIT|QUIT} [SUCCESS|FAILURE|WARNING ]

{EXIT|QUIT} 可以用exit 或quit ,目前它们的功能一样。

SUCCESS 正常退出

FAILURE 带提示错误代码的退出

WARNING 带提示警告代码的退出

COMMIT 退出前将未提交进行保存

例如:

SQL>exit

§1.5.3DESCRIBE(显示表、视图结构)

DESCRIBE可以用(只要用DESC即可)来显示表、视图的列的定义,也可以显示同义词、函数或存储过程的说明。语法如下:

DESC[RIBE] {[schema.]object[@connect_identifier]}

Schema:用户名,如果省去,则为对象的所有者。

object

可以是 表(table), 视图(view),类型(type), 存储过程(procedure),函数(function), 包(package)或同义词(synonym)

@connect_identifier

数据库连接字串

例:显示emp 表的结构:

SQL>desc emp

§1.5.4LIST(列出)命令

可以用LIST 命令来列出当前SQL缓冲区中的一行或多行命令语句。

L[IST] [n|n m|n *|n LAST|*|* n|* LAST|LAST]

n 列出第n行

n m 列出n到m行

n * 列出第n行到当前行

n LAST 列出第n行到最末行

* 列出所有行

* n 列出当前行到第n行

* LAST列出当前行到最末行

LAST 列出最末行

例:

SQL> LIST

1 SELECT ENAME, DEPTNO, JOB

2 FROM EMP

3 WHERE JOB = ’CLERK’

4* ORDER BY DEPTNO

§1.5.5Change(替换字符串)命令

可以用Change命令来改变字符串(即替换字符串)。语法如下:

C[HANGE] sepchar old [sepchar [new [sepchar]]]

Sepchar 为分隔符,可以是”/” 或”!”-- 请使用者特别注意

Old 旧字串

New 新字串

例:将 除号(/)改为 乘号(* ),则需要命令为c !/!*! 。即:

SQL> l

1* select sal,sal/100 from emp

SQL> c !/!*!

提醒:对于修改/ 字符的只能用! 来作分隔符(上例)。

例:将乘号(* )改为 加号(+ ),则需要命令为c !/!*! 。即:

SQL> l

1* select sal,sal*100 from emp

SQL> c/*/+/

1* select sal,sal+100 from emp

SQL>

§1.5.6 Append(追加字符串)命令

可以用Append命令来完成在当前行的末尾追加字符串。语法如下:

A[PPEND] text

Text 所要求追加的字符串

例:在当前行select sal,sal+100 from emp 后加where sal>=2000,则:

SQL> l

1* select sal,sal+100 from emp

SQL> a where sal>=2000

1* select sal,sal+100 from emp where sal>=2000

SQL>

§1.5.7Save保存当前缓冲区命令到文件

可以用SAVE命令将当前的命令行保存到操作系统的文件中。语法如下:

SAV[E] filename[.ext] [CRE[ATE]|REP[LACE]|APP[END]]

其中:

filename:你将把缓冲区中的内容存入到操作系统目录的文件名。

ext:若使用文件后缀,缺省的文件后缀为SQL。

例:

SQL>select table_name from dict where table_name like ‘%ROLE%’;

SQL>save c:\get_role

§1.5.8GET将命令文件读到缓冲区

可以用GET 命令将操作系统的目录下的命令文件读到缓冲区(但不执行)。语法如下:

GET filename [.ext] [LIS[T]|NOL[IST]]

其中:

filename: 希望加载到SQL缓冲区的文件名

ext: 文件的扩展名,缺省为SQL.

例:

SQL>get c:\get_role

§1.5.9SPOOL将信息记录到文件中

Oracle的SPOOL 命令可以实现将屏幕所出现的一切信息记录到操作系统的文件中直到SPOOL OFF为止。语法如下:

SPO[OL] [filename[.ext] | OFF | OUT]

其中:

filename:你想输出(spool)的文件名。

ext:文件的后缀。缺省的后缀是LST(或LIS)。

SQL>col table_name for a20

SQL>col comments for a80

SQL>set linesize 110

SQL>SPOOl c:\all_dict

SQL>select table_name,comments from dict;

. . . . . . (系统查询信息)

SQL>SPOOL OFF

§1.5.10再运行当前缓冲区的命令

在SQL>方式下,如果希望在运行当前的命令,可用Run(或R)或用/ 来实现,如:

SQL> set lin 120

SQL> select table_name from dict where table_name like '%ROLE%';

TABLE_NAME

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

DBA_ROLES

DBA_ROLE_PRIVS

USER_ROL

首页 上一页 1 2 3 4 5 6 下一页 尾页 3/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇存储过程或视图的字符串查询 下一篇第四章、PL/SQL基础

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Sphinx : 高性能SQL (2025-12-24 10:18:11)
·Pandas 性能优化 - (2025-12-24 10:18:08)
·MySQL 索引 - 菜鸟教 (2025-12-24 10:18:06)
·Shell 基本运算符 - (2025-12-24 09:52:56)
·Shell 函数 | 菜鸟教 (2025-12-24 09:52:54)