![sqlplus 바인드 변수 및 쉘 스크립트 사용 [닫기]](https://linux55.com/image/141731/sqlplus%20%EB%B0%94%EC%9D%B8%EB%93%9C%20%EB%B3%80%EC%88%98%20%EB%B0%8F%20%EC%89%98%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%20%EC%82%AC%EC%9A%A9%20%5B%EB%8B%AB%EA%B8%B0%5D.png)
바인드 변수와 쉘 스크립트를 사용하여 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};