批量执行大量数据库脚本的时候,数据库脚本报错,要定位到哪个脚本,如果数据库脚本中不主动打印脚本信息比较困难
一、ORACLE
在oracle数据库脚本,可以借助prompt比如脚本中放如下语句:
prompt ************patch_bdc1.3.8.0_ddl.sql************
则执行脚本中,控制台会打印出“************patch_bdc1.3.8.0_ddl.sql************” ,则出错时能快速定位到patch_bdc1.3.8.0_ddl.sql脚本
二、MYSQL
但是,在MYSQL中,prompt却不是干这种事的,一直在网上找,没找到MYSQL有相关函数,也在公司其他项目的MYSQL库脚本溜达了一圈,发现竟然没有项目做了这个事,难道这些人在执行大量MYSQL脚本时都不会碰到错,不会碰到要快速定位脚本的问题? 没办法,还是在网上溜达吧,偶而在一个论坛中看见某大神简单提了一句 select "xxxxxx" 可以代替打印信息。
试验了一下,在每个脚本的开头应加上如 select '******************* partne_DICMP_PMS1.0.0.0_dml.sql ***************' ; 当作注释语句,虽然有点 怪异,但总算解决一直困扰着的问题,达到我的目的。
看来还是由于对MYSQL不熟悉所致,一直习惯于oracle的语法。事后想想,其实在oracle中,不用prompt,用select '************patch_bdc1.3.8.0_ddl.sql************' from dual; 同样可以达到提示信息的目的。
当然,或许会有更好的方法,但是,我却一直没找到。