クエリにパラメーター変数(:userid、:usertype) に OracleParameter オブジェクトを使って値をバインドしクエリを発行するサンプルになります。まずは、サンプルコードをご確認ください。
Tag Archives: oracle
[ Oracle PL/SQL ] パラメータつきのカーソルを使用する
パラメータつきののカーソルを使用するサンプルコードになります。あるクエリで取得した結果ごとに別のクエリを発行して結果を取得したい場合などに使用できます。複数件のレコードを返す SQL を関数(変数)のように記述することでソースコードもすっきりとしますので、有用かと思います。
[ Oracle ] テーブル ビュー インデックスの一覧を取得する
ここでは、テーブル、ビューおよびインデックスの一覧を取得するサンプル SQL を示します。GUI の管理ツールを使用することのほうが多いと、特に意識しないことも多いかと思います。
[ Oracle PL/SQL ] SELECT INTO でレコード数なし ( NO_DATA_FOUND )
SELECT INTO を使用して以下のようなファンクションを作成する場合に、SQL の取得結果が1レコードの場合は 正常に動作しますが、複数レコードが取得された場合はエラーとなります。 また、レコード件数が0件の場合には、関数は null をリターンします。
[ Oracle SQL ] ソートした結果を union 句で結合する ( ORA-00933 )
まずは、間違った union all / union 句の使用例です。ソートした結果をマージしようとしていますがエラーとなってしまいます。ここでは、2パターンのエラーとなる SQL と正常に union を行う SQL サンプルを掲載しています。
[ Oracle ] シーケンスの取得(nextval / currval)
Oracle でシーケンスを作成した直後は、現在値には値が入っていません。現在値が未設定のまま SQL でシーケンスの現在値を取得しようとすると ORA-08002 エラーが発生します。 ここでは、出力されるエラーと対応方法について掲載しています。
[ Oracle11g ] パスワードの有効期限を無期限にする ( password_life_time )
Oracle11g からはデフォルトでパスワードの有効期限が180日になっています。 Oracle10g までのようにパスワードの有効期限を無期限にしないと、半年後に以下の Oracle エラーが発生することになり、色々面倒なことになります。とくに一括で 「 ログインできません 」 的なメッセージを表示しているようなシステムの場合には、 解析にも時間がかかるかもしれません。
天災は忘れたころにやってきます
[ Oracle ] 『ORA-00918: 列の定義が未確定です』 が発生するケース
ちょいちょい登場するこのエラーですが、どのような場合に出力されるか簡単なサンプルになります。SQL を正しく理解していれば原因の特定は比較的容易だと思われます。
「ORA-00918: 列の定義が未確定です。」は以下のような場合に発生します。言葉が堅苦しいのでわかりにくいですが、エラーメッセージそのものです。