设置sqlplus不显示除查询结果外的信息

摘要:
我想到的解决方案是首先取出结果,将其保存为中间文件,然后调用该文件。您可以使用sqlplus-s调用和拼接SQL脚本,这些脚本可以通过使用set设置相关属性来实现。

背景:客户提出一个需求,写SQL脚本的时候,内容是拼接的,如何将这个拼接SQL执行的结果取出来调用执行呢?
我想到的方案是先把结果取出来,存为一个中间文件,再调用该文件即可。
知识点:如何将sqlplus结果中的无关信息都去掉?
可以使用sqlplus -s进入调用拼接SQL脚本,脚本中配合使用set设定相关属性即可实现。下面举一个简单的示例来说明:

1.拼接SQL脚本 我这里拿拼接一个杀掉业务用户JINGYU的所有会话举例:
[oracle@db10 ~]$ cat test.sql 
--format
set heading off
set echo off
set flush off
set feedback off
set pagesize 9999
set linesize 9999
set long 9999

--SQL
--kill_all_session
select 'alter system disconnect session '''||sid||','||serial#||''''||' immediate;' from v$session where username = 'JINGYU';

--exit
exit
2.生成中间文件 调用上面的拼接SQL脚本,生成中间文件exec.sql:
[oracle@db10 ~]$ sqlplus -s / as sysdba @test.sql > exec.sql

此时查看生成的sql文件,可以确认没有其他内容,满足直接后期调用执行的要求:

[oracle@db10 ~]$ cat exec.sql

alter system disconnect session '148,48' immediate;
alter system disconnect session '159,83' immediate;
3.调用中间文件 我这里直接执行调用中间文件验证,根据你的需求也可以将其封装到另一个脚本中。
[oracle@db10 ~]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.4.0 - Production on Tue Jul 17 12:01:12 2018

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SYS@orcl> @exec

System altered.


System altered.

SYS@orcl> 

免责声明:文章转载自《设置sqlplus不显示除查询结果外的信息》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇presto——java.sql.SQLException: Error executing query与javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?异常问题[转]TCP/IP 协议基础(一)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Control.CheckForIllegalCrossThreadCalls=false不可在多线中随便使用

CodeProject上有篇文章An Alternate Way of Writing a Multithreaded GUI in C# 本意是Alternate Way 另外一种方法,后来莫名其妙的被转载成中文变了题目,最高效的方法。         CheckForIllegalCrossThreadCalls和control.Invoke有什么不同...

ORACLE 体系结构

本文内容来自王二暖11G视频讲解 oracle工作原理: 1)、在数据库服务器上启动Oracle实例;2)、应用程序在客户端的用户进程中运行,启用Oracle网络服务驱动器与服务器建立连接;3)、服务器运行Oracle网络服务驱动器,建立专用的服务器进程执行用户进程;4)、客户端提交事务;5)、服务器进程获取sql语句并检查共享池中是否有相似的sql语句...

把在程序中的System.out.print()的信息自动转成log4j日志信息

问题:老的系统中,程序未使用log4j,而是使用System.out.println()将信息打印到了tomcat。现在客户提出要保存打印到tomcat的日志信息,引入log4j固然需要,但修改代码及后续测试的工作量与风险也让人头大。如何解决这样的问题呢?  回答:System.setOut(PrintStream ps)方法允许程序员自行定义Syst...

[C#]asp.net生成高清晰缩略图

Code///<summary>///生成缩略图///</summary>///<paramname="originalImagePath">源图路径(物理路径)</param>///<paramname="thumbnailPath">缩略图路径(物理路径)</param>///&...

C# OCX控件之开发

在C#中,其实没有OCX控件一说,相对应的只是COM组件,编译后也是.DLL,而不是.ocx.所以在C#中,在创建项目时只能创建类库项目。 然后就是具体的代码开发。(略) 要使组件成为能被网页脚本调用的OCX控件,在开发时,要注意以下几点: 1、必须要为将发布OCX控件的主类设置GUID码。该码在创建类库时,C#会自动生成一个(你可以使用,也可以重新生成)...

Https socket 代理

https直接与服务器通过ssLsocket连接可行 import java.io.InputStream;import java.io.OutputStream;import java.security.SecureRandom;import javax.net.ssl.SSLContext;import javax.net.ssl.SSLSocket;...