文档章节

Shell 脚本和sqlplus间的交互

woate
 woate
发布于 2015/02/11 16:47
字数 837
阅读 56
收藏 0

Shell 脚本和sqlplus间的交互

有些时候我们可能需要shell脚本通过oracle的sqlplus执行一些sql,并对结果集进行相关的操作。

1、设置输出显示

     SQL> show all --查看所有68个系统变量值

     SQL> show user --显示当前连接用户

     SQL> show error --显示错误

     SQL> set sqlprompt "SQL> " --设置默认提示符,默认值就是"SQL> "

     SQL> set linesize 1000 --设置屏幕显示行宽,默认100

     SQL> set autocommit ON --设置是否自动提交,默认为OFF

     SQL> set pause on --默认为OFF,设置暂停,会使屏幕显示停止,等待按下ENTER键,再显示下一页

     SQL> set arraysize 1 --默认为15

     SQL> set long 1000 --默认为80

     SQL> desc user_views -- 显示视图属性表

     SQL> desc user_tables -- 显示表属性表

     SQL> run 执行当前缓冲区的命令 
     SQL> / 执行当前缓冲区的命令 
     SQL> r 执行当前缓冲区的命令

     SQL> @s<回车>
           系统会自动查询当前用户下的所有表、视图、同义词。

     SQL> @@文件名 在.sql文件中调用令一个.sql文件时使用

   

    SQL> set timing on;     //设置显示“已用时间:XXXX”

  SQL> set autotrace on-;   //设置允许对执行的sql进行分析

  SQL> set trimout on; //去除标准输出每行的拖尾空格,缺省为off

  SQL> set trimspool on; //去除重定向(spool)输出每行的拖尾空格,缺省为off

  SQL> set echo on       //设置运行命令是是否显示语句

  SQL> set echo off; //显示start启动的脚本中的每个sql命令,缺省为on

  SQL> set feedback on;   //设置显示“已选择XX行”

  SQL> set feedback off;   //回显本次sql命令处理的记录条数,缺省为on

  SQL> set colsep‘ ‘; //输出分隔符

  SQL> set heading off;   //输出域标题,缺省为on

  SQL> set pagesize 0;   //输出每页行数,缺省为24,为了避免分页,可设定为0。

  SQL> set linesize 80;   //输出一行字符个数,缺省为80

  SQL> set numwidth 12;   //输出number类型域长度,缺省为10

  SQL> set termout off;   //显示脚本中的命令的执行结果,缺省为on

  SQL> set serveroutput on;  //设置允许显示输出类似dbms_output

  SQL> set verify off         //可以关闭和打开提示确认信息old 1和new 1的显示.

 

2、获取 select 输出内容

    sqlplus -silent /nolog <<EOF
    conn usrName/Password@Inst ;
    set feedback off;
    set head off;
    spool OutPutFileName;
    select xxxx FROM TableName WHERE yyyy=zzzz;
    spool off;
    EOF

3、 DDL语句部分列表:
  alter procedure           重编译存贮过程
  alter table               增加表列、修改表列、更改存贮分配
  analyze                 收集数据库对象的性能统计值并送入代价的优化器
  alter table add constraint   在已有的表上增加约束
  create table              创建表
  create index              创建索引
  drop index               删除索引
  drop table               删除表
  grant                   将权限或角色授予用户或其它角色
  truncate                 删除表中所有行
4、三.DML (数据操纵语言)允许用户对数据库中的数据进行insert、update、delete和select等操
作。正如名字所示,DML处理数据库中的数据内容。最常见的DML语句是insert、update、
  delete和select。 
  Insert
  Delete 
  Update 
  Select 
  Commit work          把当前事务所作的更改永久化(写入磁盘) 
  Rollback              作废上次提交以来的所有更改


© 著作权归作者所有

共有 人打赏支持
woate

woate

粉丝 4
博文 14
码字总数 8689
作品 4
高级程序员
私信 提问
【小技巧】sqlplus去掉欢迎信息和提示信息,静默模式(silent option)

每次登陆sqlplus,都会有提示信息,如下: 在shell中与sqlplus交互时,这些提示信息往往会破坏数据格式。 比如用spool导出数据的时候,不希望显示这些提示信息。 好在sqlplus提供了一个静默选...

jeff-qq
2016/12/26
139
0
shell 中利用sqlplus 执行sql脚本的简便方式

有时候必须在shell中执行sql脚本,下面列举shell 中利用sqlplus 执行sql脚本的简便方式 $ cat sql/test.sql SET pagesize 0 SET heading OFF SET feedback OFF SET verify OFF select &1 fr......

会说话的鱼
2017/10/18
0
0
Shell 与 sqlplus 交互 的几种情况汇总

一、最简单的shell里调用sqlplus. $ vi test1.sh !/bin/bash sqlplus -S /nolog > result.log <<EOFset heading off feedback off pagesize 0 verify off echo offconn scotter/tiggerselec......

玉山灵烟
2015/07/16
0
0
oracle 自动加载数据shell脚本

程序是2011年时写的,代码比较乱,不过生产上运行良好也就没怎么改进了。给有需要的朋友,顺便自己也备份一下,说不定哪天又要用了。 本程序是在UNIX/LINUX环境中运行的shell脚本,程序中通过调...

一群河马
2015/10/25
29
0
Linux的rc.local自启动服务

linux有自己一套完整的启动体系,抓住了linux启动的脉络,linux的启动过程将不再神秘。 本文中假设inittab中设置的init tree为: /etc/rc.d/rc0.d /etc/rc.d/rc1.d /etc/rc.d/rc2.d /etc/rc....

晨曦之光
2012/03/09
404
0

没有更多内容

加载失败,请刷新页面

加载更多

搜索引擎(Elasticsearch搜索详解)

学完本课题,你应达成如下目标: 掌握ES搜索API的规则、用法。 掌握各种查询用法 搜索API 搜索API 端点地址 GET /twitter/_search?q=user:kimchy GET /twitter/tweet,user/_search?q=user:...

这很耳东先生
37分钟前
6
0
浅谈如何减少GC的次数

GC会stop the world。会暂停程序的执行,带来延迟的代价。所以在开发中,我们不希望GC的次数过多。 本文将讨论如何在开发中改善各种细节,从而减少GC的次数。 (1)对象不用时最好显式置为 Nu...

浮躁的码农
39分钟前
0
0
jpa 自定义返回对象

任何ORM框架都少不了开放自定义sql的问题。jpa自然也不例外,很多场景需要写复杂sql的。 首先定义一个方法签名,然后打上@Query注解。像下面这样,需要注意nativeQuery,这个表示query中的字...

朝如青丝暮成雪
今天
2
0
驰骋工作流引擎-批量审批设置

批量审批设置 关键词: 工作流引擎批量审批 Java工作流批量审批设计 应用场景 批量审批最多应用于代办中有很多相同的流程需要审批,若是把一些不是特别重要的审批做批量处理这样就可以提高很...

孟娟
今天
2
0
springmvc源码解析之DispatcherServlet四

说在前面 本次主要介绍DispatcherServlet,关注”天河聊架构“更多精彩。 springmvc配置解析 进入方法org.springframework.web.bind.annotation.support.HandlerMethodInvoker#resolveHttpE...

天河2018
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部