set pages 0
set head off
set feed off
select $1 from
(
select $1 from user_tab_partitions
where table_name = 'test'
order by partition_position desc
)
where rownum = 1;
我想在shell脚本中执行相同的SQL语句,1.sh:
#!/bin/ksh
username="test"
passwrd="testpass"
partition_name=$1
partition_position=$2
PARTNAME=`sqlplus -s $username/$passwrd << EOT
@1.sql $1
exit
EOT`
echo $PARTNAME
PARTPOS=`sqlplus -s $username/$passwrd << EOT
@1.sql $2
exit
EOT`
echo $PARTPOS
-
所以,基本上我正在做的是执行相同的SQL,但输入不同。 我不知道如何将这些变量从SHELL脚本传递给SQL脚本。
我的代码应该改变什么??? !!
感谢您的时间! / Hesi
答案 0 :(得分:0)
您需要将SQL脚本从$ 1更改为&amp; 1。如果你将SQL嵌入到这里的实际脚本doc中,$ 1将会工作。
set pages 0
set head off
set feed off
select &1 from
(
select &1 from user_tab_partitions
where table_name = 'test'
order by partition_position desc
)
where rownum = 1;