【发布时间】:2016-11-15 01:06:22
【问题描述】:
我正在尝试将一个 shell 变量传递给 SQL*Plus,以用作脚本中 create tablespace 语句中的替换变量。
sqlplus -s -l shiyas/******** @/path/schema_creation_script.sql "$DEST_SCH" <<EOF
EOF
上面提到的.sql文件里面的表空间创建脚本是
CREATE TABLESPACE &1 DATAFILE '/data1/data/mcpod/&1_01.dbf'
SIZE 104864 k AUTOEXTEND ON NEXT 10240 K FLASHBACK off;
创建表空间失败。我在创建表空间脚本中尝试了以下语句:
CREATE TABLESPACE &1 DATAFILE '/data1/data/mcpod/"&1"_01.dbf'
SIZE 104864 k AUTOEXTEND ON NEXT 10240 K FLASHBACK off;
表空间和数据文件已创建。但是数据文件是用双引号创建的。
/data1/data/mcpod/"C_40050"_01.dbf
如何传递 shell 变量并创建表空间,而不必在数据文件名中使用双引号?
【问题讨论】: