タグ

ブックマーク / www.shift-the-oracle.com (4)

  • シーケンスについての FAQ - オラクル・Oracleをマスターするための基本と仕組み

    SEQUENCE についての FAQ シーケンスの現在値 NEXTVAL と CURRVAL インスタンス単位でのシーケンスの現在値を知ることはできない(※)。わかるのは自らが採番した後の現在値(=次の値)だけとなる。 (※) CURRVAL という擬似列で現セッション中で最後に採番した番号(=現在値と言い換えることもできる)を知ることはできる。そのセッションで採番 (NEXTVAL) を行なっていない場合には、CURRVAL 擬似列を参照することはできない。 ORA-08002: 順序 sequence_name.CURRVALはこのセッションではまだ定義されていません のエラーが発生する。 シーケンスの欠番 ケース1 シーケンスは採番のたびにディクショナリにアクセスせずにメモリ上にバッファされている番号を戻す。 これはメモリ上に次の値と次回のディクショナリの更新値を保持しているのではな

  • UTL_FILE の使い方 (UTL_FILE_DIR 編) - オラクル・Oracleをマスターするための基本と仕組み

    UTL_FILE の使い方 (UTL_FILE_DIR 編) Top | Knowledge| DB構築| 文字列関数| 日付関数| 集計関数| SQL関数(アルファベット順) SQL(抽出・更新)| SQL*Plus| PL/SQL| Utility| Structure| スキーマ| チューニング| 用語| 参考書 UTL_FILE パッケージの使い方 (UTL_FILE_DIR 編) UTL_FILE パッケージによって PL/SQL でファイルの入出力を行うことができる。 PL/SQL には SQLPlus の SPOOL に該当する簡略化した命令はない。大きなログを出力したい場合には、UTL_FILE パッケージを使用するかテーブルを使用する。標準出力へは DBMS_OUTPUT パッケージを使用する。 Oracle 8i 以前では初期化パラメータ UTL_FILE_DIR を設

  • SYS_CONTEXT、USERENV - オラクル・Oracle SQL 関数リファレンス

    ネームスペース 事前定義されている組込みネームスペース名 USERENV (関数名ではない) または、「ユーザー定義のコンテキスト・ネームスペース」 ネームスペースのコンテキスト名 USERENV ネームスペースのコンテキスト名 、または、「ユーザー定義のコンテキスト・ネームスペース」のコンテキスト名 SYS_CONTEXT 関数の内容 組み込みされた USERENV ネームスペース、または、ユーザー定義の namespace に関連付けられた コンテキスト名 param の値を VARCHAR2 型で戻す。 戻す文字列の長さが max_len を超える場合には切り捨てられる。 現行のセッションのユーザー情報をもつ USERENV という組込みネームスペースが用意されている。目的に応じたコンテキストを自前で作成することも可能。 USETENV 関数の内容 下位互換用だが SYS_CONTE

    amnma
    amnma 2008/03/10
    IPアドレス取得
  • DBMS_OUTPUT パッケージ - オラクル・Oracleをマスターするための基本と仕組み

    DBMS_OUTPUT パッケージの使用 PL/SQL において DBMS_OUTPUT パッケージはデバッグ目的などで標準出力にメッセージを表示するためのおそらく唯一のパッケージで開発作業中には利用率ナンバーワンのパッケージである。その多くは開発フェーズが終了すると呼び出しのオーバヘッドをなくす為にコメント化されるか無効化される。 使用方法は以下のように簡単である。 BEGIN FOR i in 1..7 LOOP FOR j IN 1..9 LOOP DBMS_OUTPUT.PUT('-'); END LOOP; DBMS_OUTPUT.PUT('+'); END LOOP; DBMS_OUTPUT.NEW_LINE; DBMS_OUTPUT.PUT_LINE('12345678901234567890'); END; / 実行結果 ---------+---------+------

    amnma
    amnma 2008/02/19
    [PL/SQL]メッセージのすべてをオラクルのメモリバッファに一時格納しておくため、用途次第では、すぐにバッファサイズを超過して ORA-20000: ORU-10027: buffer overflow, limit of 20000 bytes とエラーとなる
  • 1