本連載はSQLの応用力を身に付けたいエンジニア向けに、さまざまなテクニックを紹介する。SQLの基本構文は平易なものだが、実務で活用するには教科書的な記述を理解するだけでは不十分だ。本連載は、著名なメールマガジン「おら!オラ! Oracle - どっぷり検証生活」を発行するインサイトテクノロジーのコンサルタントを執筆陣に迎え、SQLのセンス向上に役立つ大技小技を紹介していく。(編集局) これまではSQL文の視認性を向上させるテクニックをご紹介してきましたが、今回は抽出結果の視認性を向上させる階層問い合わせをご紹介します。 階層問い合わせの基本 階層問い合わせの一番よい例は実行計画だと思いますが、その前にまず階層問い合わせの基本からおさらいしましょう。 SQL> select empno,ename,job,mgr,sal,comm from emp; EMPNO ENAME JOB MGR
パラメータコメントとは? 基本仕様 バインド変数コメント テスト値の扱い null値の扱い ネストしたプロパティの扱い java.util.Map型の扱い java.util.List型の扱い LikeSearch条件のオプション ループ内で利用できるオプション 埋め込み変数コメント クォーテーションの調整 テスト値の扱い null値の扱い 埋め込み変数コメント内のバインド 埋め込み変数コメント内のNG文字 その他仕様 IFコメント IFコメントの条件表現 複雑な条件はメソッド化 IFコメントのネスト BEGINコメントとの併用 ELSEコメント 一行制約 ありません コメント制約 BEGINコメント 連結文字の調整 BEGINコメントのネスト ENDコメント FORコメント 細かい仕様 カレント変数 ループ変数コメント BEGINコメント内ではIFコメントと同じ扱い LikeSearch
SEQUENCE についての FAQ シーケンスの現在値 NEXTVAL と CURRVAL インスタンス単位でのシーケンスの現在値を知ることはできない(※)。わかるのは自らが採番した後の現在値(=次の値)だけとなる。 (※) CURRVAL という擬似列で現セッション中で最後に採番した番号(=現在値と言い換えることもできる)を知ることはできる。そのセッションで採番 (NEXTVAL) を行なっていない場合には、CURRVAL 擬似列を参照することはできない。 ORA-08002: 順序 sequence_name.CURRVALはこのセッションではまだ定義されていません のエラーが発生する。 シーケンスの欠番 ケース1 シーケンスは採番のたびにディクショナリにアクセスせずにメモリ上にバッファされている番号を戻す。 これはメモリ上に次の値と次回のディクショナリの更新値を保持しているのではな
スポンサード リンク ストアドファンクションの実行は、CallableStatmentを使用するか、SELECT文で実行の2種類ある。 例1) ストアドファンクション「get_data_func」を実行する。 ストアドファンクション定義 create or replace function get_data_func( in_data in char) return varchar2 as begin return 'aaa'; end get_data_func; import java.sql.*; public class CallFunc { public static void main(String[] args) throws SQLException { DriverManager.registerDriver(new oracle.jdbc.OracleDriver())
サンプルコード付きの実践的なORACLE SQLのリファレンスを公開しています。
分析関数 ROW_NUMBER の使用例 Top | Knowledge| DB構築| 文字列関数| 日付関数| 集計関数| SQL関数(アルファベット順) SQL(抽出・更新)| SQL*Plus| PL/SQL| Utility| Structure| スキーマ| チューニング| 用語| 参考書 ROW_NUMBER 分析ファンクションの使用例 ROW_NUMBER ファンクションを使用することで、上位 n件、下位 n件、中間順位 n件のレコードを抽出することができる。 (ROWNUM 擬似列は、ORDER BY より先に実行されるため、ROW_NUMBER と同じ処理をするにはインラインビューで抽出する。) ROW_NUMBER の内部ソートは 非決定的 なファンクションであるため、複数回コールして分割取得するような用途として使用する場合には一意にソートされるように注意が必要。 RO
SELECT 時に明示的な行ロックを行なう方法 SELECT 〜 FOR UPDATE は行レベルでロックをするための SQL 文である。そのために FOR UPDATE で SELECT した後のプロシージャ処理で処理中のレコードが更新されたり、削除されたりすることを防ぐことが可能である。 しかし、一度に大量のレコードをロックしたり、表全体をロックするような大規模のロックは 同時操作性にも問題が生ずるので極力控えるように設計したい。要件上、どうしても必要な場合には LOCK TABLE などの表ロックを検討する。 SELECT 〜 FOR UPDATE [WAIT | NOWAIT] Oracle 9i から FOR UPDATE の WAIT に待機秒数が指定できる。(※1) SELECT 〜 WHERE ... FOR UPDATE [OF [table_name.]column_n
PL/SQLコードの質と量が向上する4つのシンプルなガイドライン 私は1990年からPL/SQLコードを書いています。つまり、ソフトウェアのコードを何万行も大量生産してきたことになりますが、ほとんどは出来が悪く、メンテナンスも容易ではないことを自覚しています。 しかし幸いにも、より良いコードを書く方法を見つけて―それに従う―ことは、いつでも可能なことに気がつきました。 私のコードの質はこの一年で著しく向上しました。いくつかの簡単なルールを決め、規律正しく従うことで、この成果を得ることができました。 この記事では、PL/SQLの開発に携わる初心者および熟練者に4つのアドバイスを提供します。これらの提案を1つでも取り入れることで、より良いコードが書けます。 すべてのアドバイスに従えば、想像以上の素晴らしいプログラマになっていることに驚くことでしょう。 単独の作業 PL/SQL開発のほとんどは比
本連載では、Oracleデータベースのパフォーマンス・チューニングの中から、特にSQLのチューニングに注目して、実践レベルの手法を解説する。読者はOracleデータベースのアーキテクチャを理解し、運用管理の実務経験を積んでいることが望ましい。対象とするバージョンは現状で広く使われているOracle9iの機能を基本とするが、Oracle 10gで有効な情報も随時紹介していく。(編集局) 連載目次 第5回までの記事では、Oracleの表へのアクセス方法や、SQLトレースの取得方法や実行計画の確認方法といった、SQLチューニングを行ううえで必ず知っておくべきことを説明してきました。これまでの情報収集で実際にSQLチューニングを始める準備は整いましたので、今回から洗い出したSQLに目を向けていきたいと思います。 今回は、効率がよくパフォーマンスに優れたSQLの記述方法について、SQLの処理ステップ
A5:SQL Mk-2は複雑化するデータベース開発を支援するために開発されたフリーのSQL開発ツールです。 高機能かつ軽量で、使い方が分かりやすいことを目標に開発されています。 SQLを実行したり、テーブルを編集するほかに、SQLの実行計画を取得したり、ER図を作成したりすることが出来ます。 特徴・機能 OCI接続・直接接続・ADOまたはODBCを介したDBへの接続 Oracle DatabaseはOCI経由の接続・直接接続が出来ます。 PostgreSQLとMySQLは直接接続が出来ます。 Microsoft SQL Serverは、OLE DBプロバイダを直接呼び出した接続ができます。 IBM DB2は、ODBCドライバを直接呼び出した接続ができます。 その他のデータベースは、ADOまたはODBCを利用して接続します。 Oracle, PostgreSQL, MySQLは、A5:SQL
「Oracle用」カテゴリーの人気ランキング おらえ~で Oracleを色々操作出来、ランチャーもついてるランタイム同梱版(ユーザー評価:0) おらえ~で Oracleを色々操作出来、ランチャーもついてる【価格改定】(ユーザー評価:0) DBオブザーバ Oracle パーフォーマンス検証ツール (Oracle 7/8/9/10 For Windows版)(ユーザー評価:0) Oracle簡単管理 ブラウザーでOracleを扱えます(ユーザー評価:0) SQL Bridge SQL,PL/SQLの開発、デバッグ、VB,C++への移行支援(ユーザー評価:0) 「データベース」カテゴリのソフトレビュー Text Clipper 7.58 - 散乱した大切な情報源をひとつにまとめてくれる、手放せないソフト テキストの書斎 1.10 - 大量のプレーンテキスト、リッチテキストを一元管理 Visual
はじめに 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
「データベース」カテゴリーの人気ランキング Text Clipper 多くのテキストをツリー構造で管理(ユーザー評価:0) テキストの書斎 ハ-ドディスクに散乱しがちなテキストファイルやリッチテキストファイルをデ-タベ-ス化(ユーザー評価:0) Visual Cardfile はがき印刷やオーディオ管理に適した汎用データベース(ユーザー評価:0) KeyPoint98 画像やExcel表などが取り込めるマルチメディア文書データベース(ユーザー評価:0) Common SQL Environment SQL開発環境(ユーザー評価:4) 「データベース」カテゴリのソフトレビュー Text Clipper 7.58 - 散乱した大切な情報源をひとつにまとめてくれる、手放せないソフト テキストの書斎 1.10 - 大量のプレーンテキスト、リッチテキストを一元管理 Visual Cardfile P
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く