바인드 변수와 쉘 스크립트를 사용하여 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};