KNOWLEDGE

コーソルの技術情報

コーソルでは経験豊かなエンジニアが、Oracle Databaseに関するお役立ち情報を発信しています。
データベースのチューニングや設定にお役立ていただけます。

【Oracle版】Toadを使ったDB製品変更時のSQL文書き換え

■概要
Toadには複雑なSQL文をシンプルに書き換えるRefactor機能が用意されています。
Refactorでは様々なSQL書換えパターンを提供しますが、特に活用できるのが既存のジョインをANSI準拠ジョインへ変換する機能です。
様々な理由でデータベース製品を入れ替える(例:Oracle Database→PostgreSQL)ことがあるかと思いますが、
その際問題となるのがアプリケーションから実行しているSQL文の書き換えです。
Oracle Databaseでのみ利用できるジョインの書き方をしていた場合、ANSI準拠のジョインへ書き換える必要がありますが、この書き換えをToadが行ってくれます。

■利用可能エディション
 Toad for Oracle 全エディションで利用可能

■書換えパターン
 ・Comment Block
 ・Uncomment Block
   ->コメントまたはコメント解除ブロック

 ・Add Column Aliases
 ・Remove Column Aliases
   ->列エイリアスの追加または削除

 ・Convert to ANSI Join Syntax
 ・Convert to Oracle Join Syntax
   ->ANSIまたはOracle Join構文の変換

 ・Remove Subqueries Using ANSI Join Syntax
 ・Remove Subqueries Using Oracle Join Syntax
   ->ANSIまたはOracle Join構文を使用したサブクエリの削除

 ・Corrent Where Clause Indentation Level
   ->Where句のインデントレベルを修正

 ・Convert Decode Function to Case Statement
   ->デコード関数をCaseステートメントに変換

 ・DBMS_PARALLEL_EXECUTE Wizard
   ->DBMS_PARALLEL_EXECUTEウィザード

 ・Extract Procedure
   ->Procedure抽出

 ・Find Unused Identifiers
   ->未使用の変数を検索

 ・Rename Identifier
   ->識別子の名前変更

 ・Sync Order By with Group By
   ->Group ByとOrder Byを同期

■利用手順
1) Toad for Oracleを起動します。
2) Toad Editor領域に書換えたいSQL文を貼り付けます。
3) 貼り付けたSQL文を[Ctrl + A]で全選択します。
4) [右クリック] – [Refactor] – [書換えパターン]を選択します。
  書換えパターン選択後、SQL文が書換えパターンに従って書換えられます。

■例1
 原文
   SELECT EMPNO, ENAME
    FROM SCOTT.EMP E
    WHERE EXISTS (SELECT * FROM SCOTT.DEPT D WHERE E.DEPTNO = D.DEPTNO);

 書換えパターン
   Remove Subqueries Using Oracle Join Syntax

 書換え後SQL
   SELECT E.empno, E.ename
    FROM scott.emp e, scott.dept d
    WHERE e.deptno = d.deptno;

■例2
 原文
   SELECT EMPNO, ENAME
    FROM SCOTT.EMP E
    WHERE EXISTS (SELECT * FROM SCOTT.DEPT D WHERE E.DEPTNO = D.DEPTNO);

 書換えパターン
   Remove Subqueries Using ANSI Join Syntax

 書換え後SQL
   SELECT EMPNO, ENAME
    FROM SCOTT.EMP E INNER JOIN SCOTT.DEPT D ON (E.DEPTNO = D.DEPTNO);

Refactor利用手順は以上です。

SQL Optimizerを利用される場合、次のTipsもございます。
 - SQLを自動チューニングできる簡易SQL Optimizer利用手順
 - SQLを自動チューニングできるSQL Optimizer利用手順
 - SQLの索引を最適化するOptimize Indexes利用手順

Toadは30日間、フル機能で無償トライアルも可能です。
Toadに少しでも興味を持っていただけたなら、是非次のページもご参照ください。
 ・トライアルのご依頼はこちら
 ・Spotligh概要ページはこちら
 ・Spotlight on Oracle機能紹介ページはこちら
 ・Spotlight on SQL Server機能紹介ページはこちら
 ・Toad概要ページはこちら
 ・Toad for Oracle機能紹介ページはこちら
 ・Toad for SQL Server機能紹介ページはこちら
 ・Toadの製品紹介資料ダウンロードはこちら