Oracle数据库 SQL Plus 命令使用指南

2023-11-13

 

  熟悉oracle的朋友都知道,SQL PLUS是一个重要的和ORACLE打交道的工具。SQL PLUS本身有很多命令,可以帮助我们做很多事情,包括产生一些规格化的报表、提供人机交互等等。下面,我就简单地说明一下,供大家参考:

  一 帮助命令

  HELP可以帮助我们,查找SQL PLUS每个命令的用法

  举例:

  SQL> help accept
  
    ACCEPT
    ------
  
    Reads a line of input and stores it in a given user variable.
  
    ACC[EPT] variable [NUM[BER] | char | DATE] [FOR[MAT] format]
      [DEF[AULT] default] [PROMPT text | NOPR[OMPT]] [HIDE] 

  二 SQLPLUS的人机交互命令

  在SQLPLUS里可以接受用户的输入,最常用的命令有:

  (1) ACCEPT

  接受整行的数据。

  语法:

  ACC[EPT] variable [NUM[BER]|char|DATE] [FOR[MAT] format]
  [DEF[AULT] default] [PROMPT text|NOPR[OMPT]] [HIDE] 

  举例说明:

  角本1.sql,查出工资大于输入金额的雇员。

  SET FEEDBACK OFF
  SET PAUSE OFF
  ACCEPT sal NUMBER PROMPT ’Please input salary(weekly): ’
  select employee_id,last_name,first_name,salary from employee
  where salary>[$sal]

  在SQLPLUS 中运行

  SQL> @c:/1.sql
  Please input salary(weekly): 1000
  old   2: where salary>&sal
  new   2: where salary>      1000
  
  EMPLOYEE_ID LAST_NAME    FIRST_NAME          SALARY
  ----------------- ------------------- ----------------------------- ----------
        7499 ALLEN           KEVIN                 1600
        7505 DOYLE           JEAN                  2850
        7506 DENNIS          LYNN                  2750
        7507 BAKER           LESLIE                2200
        7521 WARD            CYNTHIA               1250
        7555 PETERS          DANIEL                1250
        7557 SHAW            KAREN                 1250
        7560 DUNCAN          SARAH                 1250
        7564 LANGE           GREGORY               1250
        7566 JONES           TERRY                 2975
        7569 ALBERTS         chrIS                 3000 

  注:

  ① ACCEPT接受一行的输入,并且把输入的数据根据指定按照指定的类型存放到变量(如不存在,自动创建一个)中。

  ② FOMRAT用于制定输入的数据格式,如数字可以指定’999.99’,字符可以指定长度’A10’

  ③ 如果类型是char,长度最大240。

  (2) PROMPT

  输出提示信息。

  语法:PRO[MPT] [text]

  举例:

  SQL> PROMPT Hello,world
  Hello,world 

  (3) PAUSE

  输出一行信息,并等待用户输入回车。

  语法:PAU[SE] [text]

  举例:

  SQL> PAUSE Please press [RETURN]
  Please press [RETURN]
  
  SQL> 

  三 编辑命令

  通过SQL PLUS发送的最后一次SQL语句都会保存在SQL PLUS的一个数据缓冲区内,而SQLPLUS命令不包括在内可以通过编辑命令进行编辑。

  (1) /

  重新执行一下sql 语句。

  (2) APPEND

  在命令缓冲区内,追加字符。

  举例:

  SQL> select * from tab;
  ….
  SQL> A  where tabtype=’VIEW’
     1* select * from tabwhere tabtype=’VIEW’
  SQL> /
  
  TNAME                          TABTYPE  CLUSTERID
  ------------------------------ ------- ----------
  PLSQL_PROFILER_GRAND_TOTAL     VIEW
  PLSQL_PROFILER_LINES_CROSS_RUN VIEW
  PLSQL_PROFILER_NOTexec_LINES   VIEW
  PLSQL_PROFILER_UNITS_CROSS_RUN VIEW
  SALES                          VIEW 

  (3) LIST或;

  列出缓冲区内的内容,list可以列出某行的内容,而;则是所有的。

  举例:

  SQL> ;
  1  select * from tab where tabtype=’VIEW’
  2* ORDER BY tname
  SQL> l 2
  2* ORDER BY tname 

  (4) INPUT

  增加一行内容

  举例:

  SQL> i  ORDER BY tname
  SQL> l
  1  select * from tab where tabtype=’VIEW’
  2* ORDER BY tname 

  (5) CHANGE

  把当前行的第一个艘索到的内容替换新的内容,

  语法:C[HANGE] sepchar old [sepchar [new[sepchar]]]

  举例:

  SQL> l
  1* select * from employee where salary>1000 and salary<2000
SQL> c/salary/sal
  1* select * from employee where sal>1000 and salary<2000 

  注意,当缓冲区有两行的时候,用C替换的是最后一行里的内容。

  (6) Edit

  在指定的文本编辑器里,编辑缓冲区的内容。Windows上,缺省是NOTEPAD。

  (7) SPOOL

  把输出结果,指定到一个文件中,有点像DOS命令下的>

  SPO[OL] [file_name[.ext] | OFF | OUT]
  SQL> spool c:/1.txt
  SQL> select * from tab;
  SQL> spool off 

  四 执行命令

  (1) @

  载入角本,运行。

  举例:

  SQL>@C:/1.SQL

  (2) execute

  运行PL/SQL过程和程序包。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Oracle数据库 SQL Plus 命令使用指南 的相关文章

  • SQL 错误:“没有这样的表”

    我试图解决为什么我的代码为所有查询返回 null 的原因 最后发现 sql 查询什么也没有返回 我使用简约代码创建了一个新的 AIR 文档 s WindowedApplication
  • 给定“java.sql.SQLIntegrityConstraintViolationException”是否可以确定错误的列

    鉴于我有一个类型为 java sql SQLIntegrityConstraintViolationException 的异常 是否可以以编程方式确定错误的列 或多列 我问这个问题是因为我想将错误映射回客户端的数据模型以指示错误的字段 例如
  • 串行类型的外键 - 确保始终手动填充

    我有两个表 国家和地区 CREATE TABLE Countries id SERIAL name VARCHAR 40 NOT NULL PRIMARY KEY id CREATE TABLE Regions id SERIAL coun
  • 有没有办法阻止 SQL Express 2008 空闲?

    我使用 SQL Express 2008 作为 Web 应用程序的后端 问题是 Web 应用程序是在工作时间使用的 因此有时在午餐或休息时间 如果 20 分钟内没有用户登录 SQL Express 将进入空闲状态模式并释放其缓存 我知道这一
  • 只获取倒数第二条记录 - mysql-query

    我有一个如下表记录 my table id rating description 1 0 0 bed 2 1 0 good 3 0 0 bed 4 1 0 good 5 0 0 bed 6 0 0 bed 7 0 0 bed 现在我通过评级
  • PostgreSQL 中“-”处或附近的语法错误

    我正在尝试运行查询来更新用户密码 alter user dell sys with password Pass 133 但因为 它给了我这样的错误 ERROR syntax error at or near LINE 1 alter use
  • 可以使用表通配符创建 sql 查询吗?

    这可能是一个简单的问题 但我无法在网上找到解决方案 任何帮助将不胜感激 我正在尝试在 PHP 中创建一个 SQL 查询 并希望以某种方式将通配符应用于 TABLE 过滤器 可能是这样的 select from table 但是 到目前为止我
  • 如何在 Oracle PLSQL 中提交单个事务

    我需要编写一个 PL SQL 过程 在这个过程中 我需要在其自己的事务范围内调用另一个过程 并提交它 无论主事务是否失败或提交 换句话说 我需要类似的东西REQUIRES NEW交易传播 就像是 procedure mainProcedur
  • 什么时候应该使用 C++ 而不是 SQL?

    我是一名 C 程序员 偶尔使用 MySQL 来处理数据库 但我的 SQL 知识相当有限 但我肯定愿意改变这一点 目前 我正在尝试仅使用 SQL 查询对数据库中的数据进行分析 但我准备放弃了 转而将数据导入到C 中 用C 代码进行分析 我和同
  • Reporting Services 在哪里存储其日志文件

    最相关的谷歌结果似乎表明 为了访问日志 我们必须将您自己的日志表部署到数据库并制作报告服务写入它 http technet microsoft com en us library ms157403 aspx 简而言之 Reporting S
  • 在存储过程中验证用户的最简单方法?

    我需要一个存储过程 可以通过发送以下内容来检查登录尝试时他们是否是有效用户login and password查看它们在数据库中是否匹配 有没有一种简单的方法可以做到这一点 如果没有更多信息 我目前能提供的最好信息是 CREATE STOR
  • H2 用户定义的聚合函数 ListAgg 不能在第一个参数上使用 DISTINCT 或 TRIM()

    所以我有一个 DB2 生产数据库 我需要在其中使用可用的函数 ListAgg 我希望使用 H2 的单元测试能够正确测试此功能 不幸的是H2不直接支持ListAgg 但是 我可以创建一个用户定义的聚合函数 import java sql Co
  • 内置函数将每个单词的第一个字母大写

    如果 SQL Server 中已存在此类函数 我不想为此创建自定义函数 输入字符串 This is my string to convert预期输出 This Is My String To Convert SET ANSI NULLS O
  • 如何在 DB2 中创建返回序列值的函数?

    如何在 DB2 中创建一个从序列中获取值并返回该值的函数 应该可以在 select 或 insert 语句中使用该函数 例如 select my func from xxx insert into xxx values my func 基本
  • SQL 连接两个没有关系的表

    我有具有相同结构的不同表 我想通过其中一列将它们连接起来 问题是他们不共享该专栏中的信息 Table 1 Type A Name Value Table 2 Type B Name Value 结果表 在单列中 nameFromA name
  • 数字表与递归 CTE 生成一系列数字

    为什么使用数字表比使用递归 CTE 动态生成它们要快得多 在我的机器上 给定一张桌子numbers单列n 主键 包含从1到100000的数字 查询如下 select n from numbers 大约需要 400 毫秒才能完成 使用递归 C
  • SELECT max(x) 返回 null;我怎样才能让它返回0?

    运行以下命令时如何返回 0 而不是 null SELECT MAX X AS MaxX FROM tbl WHERE XID 1 假设没有XID 1的行 or SELECT coalesce MAX X 0 AS MaxX FROM tbl
  • SQL查询查找表的主键?

    我怎样才能找到哪一列首要的关键使用查询来创建表 这是重复的question https stackoverflow com questions 893874 mysql determine tables primary key dynami
  • 我不断收到错误“关系 [TABLE] 不存在”

    我一直在尝试查询数据库中的两个表 在服务器资源管理器中 我可以看到两个表 甚至可以看到其中的列 我们将它们称为 Schema table1 和 Schema table2 其中 Schema 的第一个字母大写 我尝试运行以下查询 selec
  • 如何获取自定义订单的结果? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 代替ASC or DESC 我希望我的查询结果采用特定的自定义顺序 例如 如果我想要的结果不是 A B C D 而是 P A L H 该怎么

随机推荐

  • FFmpeg 控制台窗口的隐藏和正常退出

    FFmpeg无疑是音视频界的翘首 很多企业或个人都会拿来使用 具体怎么使用 在此不做赘述 这里仅仅讲述如何用C 调用ffmpeg指令 以及调用的控制台窗口的正常关闭 录像或转码等情况下 非正常关闭 直接导致文件损坏 不可用 一 指令的执行
  • PID控制原理详解(一)

    PID的理解 关于理解PID控制算法最典型的一个例子就是一个漏水的水缸的问题 网上有很多讲解PID的帖子会讲到这个例子 这里我也把我自己对于PID的理解用这个例子阐述一遍 有个漏水的水缸 而且漏水的速度还不是恒定的 然后我们还有个水桶 我们
  • BES2300x笔记(14) -- 提示音模块

    哈喽大家好 这是该系列博文的第十四篇 篇 lt lt 系列博文索引 快速通道 gt gt 一 前言 提示音 的这个模块 代码量确实不小啊 这一篇 我们就来梳理一下 提示音相关接口的调用逻辑吧 二 代码调用逻辑 app voice repor
  • To see the full stack trace of the errors, re-run Maven with the -e switch.

    问题描述 微服务项目中其它模块不能依赖common模块中的依赖 而common中是有依赖的 然后重新对common进行install发现报错 原因分析 经过查找是由于common中的pom xml中有一个依赖被引入了两次 删掉其中一个即可
  • 461. 汉明距离

    题目描述 两个整数间的汉明距离是指 这两个数字对应二进制位不同的位置的数目 给定两个整数 x 和 y 计算它们间的汉明距离 注意 0 x y lt 2 31 样例 示例 输入 x 1 y 4 输出 2 解释 1 0 0 0 1 4 0 1
  • 从0到1,一文掌握用户画像标签体系

    一 标签体系概览 1 什么是对象 2 什么是标签 标签是人为设定的 根据业务场景需求 对目标对象运用一定的算法得到的高度精炼的特征标识 标签是对对象某个维度特征的描述与刻画 是某一种用户特征的符号表示 每一种标签都规定了我们观察认识描述对象
  • Redis第二十二讲 Redis高可用集群节点通信机制

    两个端口 在哨兵系统中 节点分为数据节点和哨兵节点 前者存储数据 后者实现额外的控制功能 在集群中 没有数据节点与非数据节点之分 所有的节点都存储数据 也都参与集群状态的维护 为此 集群中的每个节点 都提供了两个 TCP端口 普通端口 即我
  • 电脑上面的word文档被删除了怎么办?分享四种亲测恢复方法

    不小心把电脑里面的word文档删除了 当你需要用到这些被误删的文档后 怎么找回呢 根本不知道从何入手的小伙伴不用担心 因为办法总比困难多多 下面就让小编为大家分享word文档恢复的方法 方法均以win10系统为例进行操作 大家跟着操作将其恢
  • android.content.res.Resources$NotFoundException: String resource ID #0x1

    在Android开发中如果出现android content res Resources NotFoundException String resource ID 0x1这样的错误 你想也不用想 一定是Textview控件显示数据出了问题
  • 某公众号登录加密(webpack)

    前言 随手记 1 本文章仅作学习参考使用 不做其他使用 网站 aHR0cHM6Ly9tcC53ZWl4aW4ucXEuY29tLw 输入密码 分析抓包信息 如下 可以初步判断是一个md5的密文数据 使用全局搜索Search定位到加密位置下断
  • 使用国内镜像源在线安装QT Mac M1

    参考 使用国内镜像源在线安装QT 2023 3 25更新 qt国内镜像 Iotfsd的博客 CSDN博客 网上搜了一些资料 大多数建议用fiddler代理 Mac M1操作不起来 看到上述windows的方法 尝试了一下 运气很好成功了 大
  • 闭环系统的零极点图判定稳定性_系统的稳定性判别

    pzmap 函数可以绘制连续系统在复平面内的零极点图 其调用格式如下 p z pamap num den 或 p z pzmap A B C D 或 p z pzmap p z 其中列向量 p 为系统的极点 列向量 z 为系统的零点 num
  • SQLilabs的第20关(HTTP请求头-Cookie)——报错注入

    1 判断闭合方式 我们在cookie的后面加上一个 返回页面如下 我们再将 改成 返回页面如下 这说明闭合方式是 2 确定注入方式 我们在判断闭合方式时发现 该网站会返回报错信息 又没有回显 因此适合使用报错注入 3 爆破数据库名 用户名
  • opencv中morphologyEx()函数

    opencv中morphologyEx函数 函数原型 参数解释 例子 相关函数 参考博客 函数原型 CV EXPORTS W void morphologyEx InputArray src OutputArray dst int op I
  • pnpm 构建 Monorepo workspace项目

    pnpm 构建 Monorepo 项目 使用背景 因为公司要做的项目比较多 项目之间又会相互依赖 目前分为pc后台 pc商城 uniapp项目等等 所以为了代码的复用和代码的规范提交 决定引入pnpm来创建Monorepo项目 Monore
  • 每次win10开机需要重启一次系统才能进去,第一次停留在启动画面就不动了。

    这是由于部分电脑的主板不支持快速启动造成的 所以把快速启动功能关闭掉即可 具体操作步骤如下 控制面板 硬件和声音 电源选项 选择电源按钮的功能 选择 更改当前不可用的设置 然后把 启用快速启动 推荐 前面的勾去掉 再点击下面的 保存设置 即
  • Python 自动化测试(三): pytest 参数化测试用例构建

    在之前的文章中主要分享了 pytest 的实用特性 接下来讲 Pytest 参数化用例的构建 如果待测试的输入与输出是一组数据 可以把测试数据组织起来用不同的测试数据调用相同的测试方法 参数化顾名思义就是把不同的参数 写到一个集合里 然后程
  • Jetson Nano复制系统和U盘启动【第三部分】

    一 写在前面 第三部分承接第二部分 由于Nano EMMC容量只有16GB大小 安装系统和SDK后 Nano EMMC只剩下1 4GB容量 几乎没有空间安装其它软件 第三部分的主要内容是将Nano EMMC系统完全复制到U盘中 并修改Nan
  • 经验模式分解(EMD)——简介及Matlab工具箱安装

    最近在做脑电信号分析 在导师的建议下学习了一点经验模式分解 下面简称EMD 的皮毛 期间也是遇到了很多问题 在这里整理出来 一是为了自己备忘 二是为了能尽量帮到有需要的朋友 一 EMD简介 经验模态分解 Empirical Mode Dec
  • Oracle数据库 SQL Plus 命令使用指南

    熟悉oracle的朋友都知道 SQL PLUS是一个重要的和ORACLE打交道的工具 SQL PLUS本身有很多命令 可以帮助我们做很多事情 包括产生一些规格化的报表 提供人机交互等等 下面 我就简单地说明一下 供大家参考 一 帮助命令 H