■[Oracle] sqlplusとrlwrap Oracleのオペレーションの要となるsqlplusですが、ラインエディットが出来ないとか、コマンドヒストリ呼び出しができないとか、日ごろbashやzshで作業している人にはかなり苦痛な環境です。 ところが!!!! http://d.hatena.ne.jp/secondlife/20060607/1149653094 で紹介されてるrlwrapというreadlineラッパーコマンドをかませると超便利になります。 http://utopia.knoware.nl/~hlub/rlwrap/ から持ってきてインストールしましょう。 rlwrap sqlplus で起動すると、いつものコマンドラインエディットができて、C-rでインクリメンタルヒストリーサーチもできる!sqlplusを再起動しても、ヒストリが使える!!等々、慣れたら手放せません。
トップN分析、上位 n レコード、 n〜m レコードの取得 SELECT 文 にて条件を伴う上位の n レコードを取得したい場合には ROWNUM によるインラインビューを使用してネストした問い合わせをインライン化するか ROW_NUMBER 分析関数 を使用する。 FETCH FIRST / FETCH NEXT による TOP n 件抽出 SELECT NO FROM ROWNUM_TEST ORDER BY NO -- OFFSET 0 ROW / OFFSET 0 ROWS FETCH FIRST 5 ROWS ONLY ; "FETCH FIRST ROW" と行数を省略した場合には最初の 1 行が抽出される。 ※ FETCH FIRST n ROWs の n に 0以下が設定された場合には 1件も抽出されない。 ROW_NUMBER 分析関数による TOP n 件抽出 ROW_
サンプルテーブルを使用し、実際によく使うであろうSQL文を挙げていきます。 このページでは、ORACLE について述べています。 他の RDBMS について見たい場合は、各項のリンク ( ORACLE MSSQL SSA Postgres MySQL Jet ) をクリックしてください。 また、使われている言葉の意味がわからない場合は、共通事項を見てください。 この項で使用するサンプルテーブルについて 日付型データをフォーマットして表示するには? 日付の演算あれこれ INSERT時にキーを自動的に連番で振るには? 同一テーブル内の別の行にある情報を結合して検索するには? 結合条件に合致しなくてもすべての行を表示させるには? SELECT文の中で条件分岐するには? クロス集計の方法は? 最大値と等しいデータを検索するには? AテーブルにあってBテーブルにないデータ
postgreSQLにはlimit offsetがあり時には非常に便利な機能。 Oracleの場合、ROWNUMを使って似たような事が出来ます。 Oracleにおいて、HOGEテーブルの検索結果の中から最初の10件を取得したい場合は select * from HOGE where rownum <= 10;または select * from HOGE where rownum between 1 and 10;とします、これは一般的によく使われる方法と思います。 では、10件目から5件取得したいとなった場合はどうでしょう。 上記と同じように select * from HOGE where rownum between 10 and 15;または select * from HOGE where 10 <= rownum and rownum <= 15;とすれば良いのでは?と思いますが
複数のデータベースの名前はPHPではなく、Oracleの"tnsnames.ora"ファイルで管理するべきです。OCI8のログイン関数"ocilogin()"はユーザ名とパスワードが必要です。第3引数にはデータベースのホストを指定します。 筆者が関わったエンタープライズの大きな開発の環境では、開発サーバ、テストサーバ、本番サーバの3つのサーバを使用していました。それぞれのサーバは異なるデータベースに接続します。テストサーバと開発サーバではテスト用のデータベースに接続しており、本番サーバは本番用のデータベースサーバに接続していました。 PHPのコードをサーバ間で移動すると、データベースに接続するコードがあると、実行するサーバによっては間違ったデータベースに接続することになり問題が発生します。例えば、コードをテストする時は、アプリケーションを開発サーバからテストサーバに移動して、バグを探します
はじめに osqleditは,Oracle用のSQLエディタ&実行環境です。 使いやすいSQLエディタと,軽快な動作が特徴です。 Oracleの運用管理ツールや開発支援ツールとして,ご利用いただけます。 主な機能は,以下のとおりです。 (*マークは,ver6での新機能) ・Copy, Paste, Cut ・Undo, Redo(回数無制限) ・検索,置換(正規表現も利用可能) ・キーワードのカラー表示, キーワード補完,矩形選択 ・編集中のSQLを実行して,結果を表示(検索結果はGrid表示) ・複数のSQLを連続実行 ・SQL実行結果のファイル保存(複数SQLに対応) ・SQLの実行計画(explain plan)の取得 ・PL/SQLコンパイルエラー個所の表示 ・PL/SQL実行時の,DBMS_OUTPUTパッケージへの出力を表示 ・テーブルやカラムのコメントなどを表示 ・PL/SQ
ROWNUM 擬似列 ROWNUM 擬似列の特徴は ソート前の抽出した結果セットのレコード番号をあらわす。 WHERE 条件に入れることでレコード数を制限できる。(オプティマイザに助言をあたえている) 条件の評価順序は、その条件文において最後に評価される。 ORDER BY と WHERE に併用すると WHERE 条件が先に評価される。 行番号 (ROWNUM) の割り当ては並び替え処理前の条件に一致したデータ取り出し時に割り当て済みである。 抽出した結果レコードのレコード番号をあらわす ROWNUM は結果セットに対する一意の昇順の行番号を割り当てる。(取り出し順) SELECT ROWNUM FROM EMP ; ROWNUM ---------- 1 2 ... 取得するレコード数の制限 ROWNUM を条件に加えることで 行番号 (ROWNUM) の条件を除いて絞り込んだ結果 か
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く