- ベストアンサー
PL/SQLでCREATE SEQUENCEの呼び出し
いつも参考にさせていただいてます。 select文で取得した日付の年下2桁をもとに 順序を取得したいと思っています。 CREATE SEQUENCEは seq_id_04 seq_id_05 seq_id_06 : というように年ごとに作成されてあります。 seq_id_yy.nextval yyを取得した年に置き換えて実行したいのですが、 なかなかうまくいきません。 初めてのPL/SQLのため説明文におかしな部分があったらすみません。 ご存知の方がいましたら、ぜひぜひご教授ください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちわ。 Execute immediate 文を使えばできる筈です。 先ずは、 vSQL varchar2(256); vSeqNo NUMBER(8); のように変数が定義されていたとして、 vSQL にSequence をSelect するSQL 文を作成します。 こんな感じです。 → vSQL := 'SELECT seq_id_' || to_char(sysdate, 'YY') || '.nextval from dual'; そうしたら、 PL/SQL ブロックの中で、 execute immediate vSQL into vSeqNo; として下さい。
お礼
muyoshidさん。 実行できました!! ほんとうにありがとうございます。 まだまだPL/SQL、壁にぶち当たりそうですが、がんばります!