実現したいこと
oracleのlivesqlで置換変数について学習しているのですが、エラーが解決できないです。
発生している問題・分からないこと
コードを実行してみたところ、バインドされていない変数があると表示されました。どうやらsql plusでは&をつかい置換変数を使用しますが、live sqlでは:を使うと聞いたので試したのですがその時もエラーが発生しました。
エラーメッセージ
error
1ORA-01008: not all variables bound
該当のソースコード
oracle
1create table test( 2 test_id varchar2(20) 3 ,test_name varchar2(20) 4 ,test_number number 5) 6 7insert into test(test_id,test_name,test_number) values('いちばん','なおき',10) 8insert into test(test_id,test_name,test_number) values('にばん','なおき',20) 9insert into test(test_id,test_name,test_number) values('さんばん','なおき',30) 10 11select * from test 12 where test_number = :test_number;
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
コードを実行してみたところ、バインドされていない変数があると表示されました。どうやらsql plusでは&をつかい置換変数を使用しますが、live sqlでは:を使うと聞いたので試したのですがその時もエラーが発生しました。
補足
特になし
過去に同様の質問があるようです
https://teratail.com/questions/s7vnrz5utzj5sw
EXECUTE IMMEDIATE を使用する。
以下文献
https://livesql.oracle.com/apex/livesql/file/content_CHREI3LLPBLRAHQR9TDJIO677.html
バインド変数の学習にlive sqlを使っても、実装は異なるわけだし、そこまで役立つかは疑問です。
それよりも、無償版をインストールしてそこで学習する方が効率良いと思います。
あなたの回答
tips
プレビュー