バインド変数とシェルスクリプトを使用してDMLを実行したいと思います。たとえば、次のようになります。
#!/bin/bash
SH_NUM=10
sqlplus -S test_user/test_pass <<EOD
var a number;
a:=${SH_NUM}
insert into test_table values(a);
commit;
EOD
これが可能かどうかはよくわかりません。 pl / sqlを使用するときにこの方法を使用できますが、この方法も使用できるかどうかを知りたいです。
答え1
問題は、次のように変更する必要がある割り当て行です。
exec :a :=${SH_NUM};