ORACLE相关的SHELL编程
其实,SHELL功能非常强大,基本可以覆盖操作系统的所有角落。
PL/SQL同样也非常强大,可以解决ORACLE数据库的众多问题。
但有时这两个强大的“家伙”混合在一起后,就会多少变得棘手些。就像我,可能做数据库时间长了,很多东西都想通过数据库实现。但有时超过了数据库的范畴,就不灵光了。
我还是想说几点问题:
1.该SHELL实现的部分或者该数据库实现的应该想想清楚,否则你的SHELL脚本越写越痛苦。
有段代码,我想将SHELL中的变量,放在SQLPLUS中的SQL语句中操作。但是着实的碰到了问题。因为我的SQL语句是对字符串进行操作:
有诸如这样的SQL,这时ORACLE就会报错,通过跟踪可以发现:
v_para这个变量的值为 1111A2222B333(举例),在SQL中直接引用,结果发现实际的SQL是这样的:
我们不难发现没有了单引号!如果做SHELL比较敏感的朋友就会想到:单引号在SHELL中意味着什么。为了单引号我必须使用转义符(\)。但是在使用转义符后,实际上这个SQL又变成了
对,越来越错。最后想了又想,还是直接通过PL/SQL操作,也是可以完成的。
2.在SHELL中的一些特殊符号,在SQLPLUS中特殊的作用会消失。
例如,我在SPOOL结果集到文本中时,对文件名称使用了双引号中带变量的做法。
结果输出的文件名上还带着双引号,例如:"50001".txt
所以要格外注意,当然最为保险的是在实际环境中进行测试!
3.数据库管理人员,多学习学习SHELL会对自己的工作受益良多。当然如果可以再多多深入学习当然操作系统对自己的帮助就会更大,这样的前提是身边一定要有一个好的SA(我共事的SA就非常优秀!多谢这位仁兄(Cityhunter)的大力帮助)。
最后看看这篇文章,算是个抛砖引玉的小文吧。
利器和尖刀,一个也不能少。 -:)
ORACLE相关的SHELL编程相关推荐
- shell编程中如何执行oracle语句
shell编程中如果向oracle中插入数据之类的,需要先把执行语句放到文件中,然后再@这个文件执行 有如下俩种方式供参考: SQL=`sqlplus user/pwd@orains << ...
- Linux相关命令、Vi、shell编程
一. 系统用户.系统组管理 1.useradd 一个用户可以属于多个组,主组只有一个 useradd -c /-d /-D / -g/ -G/ -m/ -s/ -r/ -u -c 密码提示 -d 指定 ...
- Linux操作系统与Shell编程
Linux是自由.开源的操作系统,安装在计算机的硬件之上,是用来操作计算机硬件和软件资源的系统软件,一般应用于专业的web服务器上,具有以下特性 Linux注重系统的安全性,对文件访问权限有严格设定, ...
- 【“计算机科学与技术”专业小白成长系列】Linux Shell 编程 极简教程
Linux Shell 编程 极简教程 内容摘要 本文是 Linux Shell 编程简单入门.主要内容: Linux 简介 Shell 编程入门 Kotlin 脚本与 Shell 脚本 Linux ...
- Linux系统命令与Shell编程
第1章 linux简介 1.linux系统主要特点 免费开源.Linux是一款完全免费的操作系统,任何人都可以从网络上下载到它的源代码,并可以根据自己的需求进行定制化的开发,而且没有版权限制. 模块化 ...
- 运维 - 第一阶段 - linux与shell编程
linux与shell编程 讲师:墨竹 系统运维与linux 1.系统运维是什么 简单来说运维(Operation and maintenance)是指对公司硬件和软件的维护. 硬件包括:机房.机柜. ...
- SHELL编程之变量定义
SHELL编程 学习前奏 1. 文件处理工具 1.1 grep工具 1.2 cut工具 1.3 sort工具 1.4 uniq工具 1.5 tee工具 1.6 paste工具 1.7 tr工具 小试牛 ...
- SHELL编程(一)
SHELL编程 1. 文件处理工具 1.1 grep工具 1.2 cut工具 1.3 sort工具 1.4 uniq工具 1.5 tee工具 1.6 paste工具 1.7 tr工具 2. 编程语言分 ...
- 如让自己想学不好shell编程都困难?
众所周知,shell是linux运维必备的技术,必须要掌握,但是shell语法复杂,灵活,网友掌握了语法也不知道如何应用到实际运维中,老男孩培训shell编程给所有linux运维人员带来了学好shel ...
最新文章
- pandas使用groupby函数和cumsum函数计算每个分组内的数值累加值、并生成新的dataframe数据列( cumulative sum of each group in dataframe
- 滤波电容、去耦电容、旁路电容作用
- mysql session变量_mysql 系统变量和session变量
- EntityFramework Core查询数据基本本质
- FMStocks7 , 不错的一个.NET 示例程序
- mesi协议怎么实现_volatile的底层实现原理
- 记次浙大月赛 134 - ZOJ Monthly, June 2014
- C++基础——模板的0初始化
- python零基础能学吗-初学者必知:零基础学习Python真的能学会吗?
- 关于oracle存储微信表情emoji问题 “[[%F0%9F%A4%AA]]“
- html做table某一列的合计,Jquery、js计算table列合计
- R语言地理探测器--因子探测器实现
- appium工作原理
- 抖音JAVA工程师_字节跳动抖音社招后台开发工程师面经
- 六大机构好评的Teradata 究竟有哪些过人之处?
- 【转载】GitHub中国区前100名到底是什么样的人
- 基于卷积神经网络的高光谱分类(1D、2D、3D-CNN)
- SSLOJ 1317.灵魂分流药剂
- Python爬虫——漫画下载
- 发那科机器人请关闭电源_发那科机器人报警处理(中文)