新公司需要写pl\sql,日常编码过程中,一些简单而重复的操作耗费了不少时间,由于公司不能向外提交数据,电脑又禁用usb,所以只能通过博客这个中转站获取在家里准备写好的脚本。下面的代码我就不详细解释了,有同样需求的朋友自己研究下,不明白或者有需要改进的地方欢迎发邮件。
字段匹配
$ cat tt1
Name Null? Type
----------------------------------------- -------- ----------------------------
DEPTNO NOT NULL NUMBER(2)
DNAME VARCHAR2(14)
LOC VARCHAR2(13)
$ cat tt2
DNAME ssss
$ cat to_verify
#!/bin/bash
export PATH=/u01/app/oracle/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/oracle/bin
cat /dev/null > result
sed -e '1,3d' -e 's/NOT NULL//g' $1 > tmp1
awk '{if(!s[NR])s[NR]=$1;if(FNR>x)x=NR;a[$1]=$2}END{for(i=1;i<=x;i++)print s[i],a[s[i]]}' tmp1 $2 > result
rm tmp1
$ ./to_verify tt1 tt2
$ cat result
DEPTNO NUMBER(2)
DNAME ssss
LOC VARCHAR2(13)
利用CAST进行类型转换
$ cat to_cast
#!/bin/bash
export PATH=/u01/app/oracle/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/oracle/bin
cat /dev/null > result
sed -e 's/NOT NULL//g' -e "s/^ \([A-Z_]*[A-Z]\).*(\([0-9]*\))/CAST(NVL(\1,' ') AS CHAR(\2))/g" -e "s/ \([A-Z_]*[A-Z]\).*DATE/TO_DATE(\1,'YYYY-MM-DD')/g" $1 > result
echo "#################################EXAMPLE###############################" >> result
echo "cast(nvl(max(sal),'1') as char(23))" >> result
echo "cast(nvl(to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),' ') as char(23))" >> result
echo "########################################################################" >> result
$ ./to_cast tt1
$ cat result
CAST(NVL(DEPTNO,' ') AS CHAR(2))
CAST(NVL(DNAME,' ') AS CHAR(14))
CAST(NVL(LOC,' ') AS CHAR(13))
#################################EXAMPLE###############################
cast(nvl(max(sal),'1') as char(23))
cast(nvl(to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),' ') as char(23))
#######################################################################
..................................持续更新中....................................
本文原创,转载请注明出处、作者
如有错误,欢迎指正
邮箱:czmcj@163.com
相关推荐
js和jquery写的各种小脚本,共31个包括弹层,图片轮播,伸缩,导航等
小脚本4.71免费版
这是一个web应用中页面上的小工具包,我保存了很久了,现在拿出来感觉还是不错的,即便是不懂java编程的也同样可以应用,如果需要帮助,请给我留言
高通平台进9008模式小脚本,不需要强制上拉BOOT管脚,
这是一个非常好用的MAX渲染关机小脚本。当你在渲染出图的时候,时间比较长,你就可以设置渲染完后文件保存路径,然后用这个小脚本。还有晚上要渲染图的时候,也可以进行设置。非常方便好用!!
linux性能监测小脚本,小巧实用的小脚本
生成MAC地址小脚本
一个测速小脚本,
python2.7关机小脚本,可以定时关机。代码短小精悍。
python小脚本,简单,易用,快速
小脚本怎么写.docx
可以忽悠人的小脚本,点击就关机,自己平时也可以用它来方便关机
小脚本4.0-自动化脚本-可视化编程页面-非常适合页游端游的脚本编辑-内置很多脚本大多数都是老demo可以当做参考-里面也内置全套教程!
在线ip自动加入限速小脚本
vb小脚本找电影.bat
部署在winserver的c盘/program file/mail下,自动通过outlook给自己发送邮件,可在outlook设置收到邮件后保存一个savelog.txt的标记,脚本根据是否有savelog以及发邮件是否成功,判断服务器是否宕机。
自己写的javascript小脚本无刷新验证。好用
用于下载美拍用户视频的小脚本,只需要输入用户ID即可,学python没多久,大佬路过勿喷。
一个备份的小脚本,linux系统向windows系统备份数据