数据库使用技巧
命令行中调用DB2执行语句并返回结果
$var=$(db2 -x "select statement")
Orcle调用sqlplus并执行带有参数的SQL文件
sqlplus $userName/$password@$tnsName @$sqlFolder/$ex.sql $parms
当然需要设置环境变量
export ORACLE_HOME=/u01/app/oracle/product/oraprod
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=$ORACLE_HOME/bin:$PATH
Oracle执行SQL文件并导出数据的设置:
set echo off ;
set feedback off;
set heading off ;
set verify off ;
set trimspool off ;
set pages 0;
set newpage 0;
set linesize 300;
set arraysize 1000;
set termout off;
whenever sqlerror exit SQL.SQLCODE;
whenever oserror exit 1;
arraysize控制每次从服务器返回结果大小,可以加快获取结果的速度,termout关闭屏幕输出。
whenever用于控制命令中断,可以是sqlerror或者oserror,并返回SQLCODE给命令行。
DB2诊断存储过程错误:
SELECT * FROM SYSCAT.TABLES WHERE TBSPACEID = 2 AND TABLEID = 50
SELECT * FROM SYSCAT.COLUMNS WHERE TABNAME= '*******' AND COLNO = 8
select PROCNAME from SYSCAT.PROCEDURES where PROCSCHEMA='SCHEMA'
Oracle查看当前schema并设置
select sys_context('userenv', 'current_schema') from dual;
alter session set current_schema = sys;