linux(六)脚本应用

本文档详细介绍了如何使用SQL*Plus登录Oracle数据库,包括静默登录、查询操作及权限设置。同时,讲解了Shell脚本在数据库操作中的应用,如分隔查询、接收参数查询员工信息,并确保安全登录。此外,还阐述了SPOOL的使用方法及其相关设置,以实现高效的数据导出和文件操作。

一.登录oracle

sqlplus user_name/passwd

or

sqlplus /nolog conn  / as sysdba startup conn user_name/passwd

查看当前登录用户:show user

当oracle下没有权限时直接级联赋权:chmod -R 777 路径

二.shell脚本

1.静默登录/安全登录

静默登录:意思是不弹出无用的信息用参数 -S 来选择

示例1:编写shell以静默登陆的方式连接数据库

2.分隔查询

示例2:编写shell输出dept表的内容,要求字段与字段间用','隔开

检测:

 

注意:需要添加set serveroutput 来让dbms生效
set有很多,主要就用这个
其他的需要的时候自己查
需要添加/让结果打印在命令行窗口
需要<<EOF EOF来让代码运行

3.查询plsql

示例3:根据传入的部门编号查询员工信息

测试:

 4.安全登录

示例:写脚本安全登录数据库

测试:

正常登录

注意:``的使用会带来方便

5.传入部门编号,将员工信息数据导出到文件

 测试:

 

 

注意事项:在登陆后<file_name.txt即可导入
注意用<还是<<

 

三.Spool 使用方法

spool常用的设置 
set colsep ' ';    //域输出分隔符 
set echo {ON|OFF};    //显示start启动的脚本中的每个sql命令,缺省为on 
set feedback {ON|OFF};  //回显本次sql命令处理的记录条数,缺省为on 
set heading {ON|OFF};   //输出域标题,缺省为on 
set pagesize 0;   //输出每页行数,缺省为24,为了避免分页,可设定为0。

set linesize 120        //设置输出一行所能容纳的字符数
set termout {ON|OFF};   //显示脚本中的命令的执行结果,缺省为on 
set trimout {ON|OFF};   //去除标准输出每行的拖尾空格,缺省为off 
set trimspool {ON|OFF};  //去除重定向(spool)输出每行的拖尾空格,缺省为off 

set term {ON|OFF};        //是否在屏幕上显示输出的内容

set num 18;             //输出number类型域长度,缺省为10

set newpage {1|n|none}       //--默认为1,设置页与页之间的分隔       

当set newpage 0 时,会在每页的开头有一个小的黑方框。

当set newpage n 时,会在页和页之间隔着n个空行。

当set newpage none 时,会在页和页之间没有任何间隔。





注:LINESIZE要稍微设置大些,免得数据被截断,它应和相应的TRIMSPOOL结合使用防止导出的文本有太多的尾部空格。
但是如果LINESIZE设置太大,会大大降低导出的速度,另外在WINDOWS下导出最好不要用PLSQL导出,速度比较慢,直接用COMMEND下的SQLPLUS命令最小化窗口执行。 



说明:spool不但可以把数据导出到txt,也可以导出到csv等;不但可以导数据,也可以导出字符,拼装成sql文件等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值