我想用sqlplus和Oracle假脱机功能导出一些数据。问题是,在那里我定义我的出口SQL输入文件不是让我从参数其中我出口数据表名 - 就是了文字:(在sqlplus输入文件中参数化表名
在shell脚本中调用sqlplus的:
sqlplus $USER/[email protected]$ORADB<
@export.sql $OUT_FILE $SOME_VAR $ENV
exit
!
export.sql:
set heading off
set head off
set term off
set tab off
set embedded on
set feedback off
set pagesize 0
set linesize 800
set trimspool on
set verify off
spool &1
SELECT '&2|' || some_col
FROM &3_TABLE
/
spool off
当$ ENV设置为 '开发',我得到
Enter value for 3_TABLE
而我希望它使用dev_TABLE。当我取消参数化sql文件中的表名时,输出运行良好。还要注意,有一个参数是& 2,它是shell中的$ SOME_VAR,它的显示效果很好。唯一的问题是在FROM语句中。
有没有什么办法告诉sql输入文件在运行SQL之前替换参数化的表名?
感谢