Develop and Download Open Source Software

Recent Changes

2010-02-07

Wiki Guide

Side Bar

DML Breaker(Data Manipulation Language Breaker) Wiki

ダウンロードページはこちら >> http://sourceforge.jp/projects/format-sql/releases/

DMLBreaker201.jpg

ライセンス

GNU General Public License v3(GPLv3)

DML Breaker uses the following libraries
 Ext JS Library 3.0.3 licensed under GPLv3 License
 licensing@extjs.com
 http://www.extjs.com/license

著作権

株式会社コスモス
http://www.cos-mos.co.jp

バージョン

2.01

動作確認済み環境

WindowsXP

OS、配布ファイル以外に必要なソフト

Webブラウザ(以下のブラウザで動作確認済)

  • Internet Exproler 6/7/8
  • Firefox 3.5
  • Google Chrome 4
  • Safari 4
  • Opera 10

多言語対応の動作確認

  • Firefox 3.5の英語版で正常動作を確認

作品紹介

SQL文のうち、DML(SELECT/INSERT/UPDATE/DELETE)を解析し、
人が見やすいDMLに変換するツールです。設計書等に転記する場合にご利用ください。
なお、DMLの構文解析機能は実装されておりませんのでご了承ください。

導入手順

インストールは、ダウンロードファイル(DMLBreakerX.X.zip)を任意のディレクトリに解凍することで終了します。

基本使用手順

  1. DMLBreaker.html をダブルクリックします。
  2. 上部のテキスト入力エリアにDMLを入力します。
  3. 画面中央の「変換」ボタンを押下します。
  4. 下部に変換後のDMLが出力されます。
  5. Excelなど、他の設計書等のドキュメントに「貼り付け」を行います。

主な特徴

  • DML(SELECT/INSERT/UPDATE/DELETE)をサポートします。
  • 37種類のSQLキーワードの大文字変換をサポートします。
  • ローカル環境で動作が完結します。
  • セミコロン「;」で、複数のDMLを区切ることにより、一括して変換することができます。
  • 実装はJavaScript+HTMLで行っています。

DML変換エンジンの仕様

  • SQL構文はOracle社のDatabaseに対応するDMLを前提とします。
  • 字下げ(インデント)は、4文字の半角スペースで行います。
  • 関数は大文字変換しません。
  • 列を列挙する際に利用するカンマ(,)は、行の後方に出力します。サブクエリも対応します。
  • WHERE句の左条件カラムにインデントを揃えます。
  • 整形仕様は次の通りです。
  • SELECT
    • SELECT構文(副問い合わせ)
    • (変換前)
      SELECT CustomerID, CompanyName FROM Customers WHERE CustomerID = '00001' AND CustomerName LIKE '山田%' 
      
    • (変換後)
      SELECT
          CustomerID,
          CompanyName
      FROM
          Customers
      WHERE
              CustomerID = '00001'
          AND CustomerName LIKE '山田%'
      
  • INSERT
    • INSERT構文1:
    • (変換前)
      INSERT INTO Customers (CustomerID, CompanyName) VALUES ('10001' , 'COSMOS')
      
    • (変換後)
      INSERT INTO Customers (
          CustomerID,
          CompanyName
      )
      VALUES (
          '10001' ,
          'COSMOS'
      )
      
    • INSERT構文2:
    • (変換前)
      INSERT INTO OrgCustomers SELECT CustomerID, CompanyName FROM Customers WHERE CustomerID = '00001'
      
    • (変換後)
      INSERT INTO OrgCustomers
      SELECT
          CustomerID,
          CompanyName
      FROM
          Customers
      WHERE
              CustomerID = '00001'
      
      
  • UPDATE
    • UPDATE構文1:
    • (変換前)
      UPDATE Customers SET CompanyName = 'COSMOS', RepName = '松本' WHERE CustomerID = '101000'
      
    • (変換後)
      UPDATE Customers SET
          CompanyName = 'COSMOS',
          RepName = '松本'
      WHERE
              CustomerID = '101000'
      
    • UPDATE構文2:
    • (変換前)
      UPDATE Customers SET CompanyName = (SELECT CompanyName FROM OrgCustomers WHERE CustomerID = '101000')
      
    • (変換後)
      UPDATE Customers SET
          CompanyName = (
              SELECT
                  CompanyName
              FROM
                  OrgCustomers
              WHERE
                      CustomerID = '101000'
          )
      
    • UPDATE構文3:
    • (変換前)
      UPDATE Customers SET (CustomerID, CompanyName) = (SELECT CustomerID , CompanyName FROM OrgCustomers WHERE CustomerID = '101000'
      
    • (変換後)
      UPDATE Customers SET
          (CustomerID, CompanyName) = (
              SELECT
                  CustomerID ,
                  CompanyName
              FROM
                  OrgCustomers
              WHERE
                      CustomerID = '101000'
      
  • DELETE
    • DELETE構文1:
    • (変換前)
      DELETE FROM Customers WHERE CustomerID = '101000'
      
    • (変換後)
      DELETE FROM Customers
      WHERE
              CustomerID = '101000'
      
    • DELETE構文2:
    • (変換前)
      DELETE FROM Customers WHERE CustomerID = '101000'
      
    • (変換後)
      DELETE FROM Customers
      WHERE
              CompanyName = (
              SELECT
                  CompanyName
              FROM
                  OrgCustomers
              WHERE
                      CustomerID = '101000'
          )
      
  • 大文字変換キーワード37種は以下の通りです。
    ALL,AND,ANY,AS,ASC,BETWEEN,CROSS,DELETE,DESC,DISTINCT,EXISTS,FROM,FULL,GROUP BY,HAVING,IN,INNER,INSERT INTO,IS,JOIN,LEFT,LIKE,NOT,ON,OR,ORDER BY,OUTER,RIGHT,SELECT,SET,SOME,UNION,UNION ALL,UPDATE,USING,VALUES,WHERE
    

改訂履歴
2009.08.15 v0.1 初期バージョン公開
2009.10.31 v1.0 バージョン1公開
2009.11.24 v1.01 バージョン1.01公開
2009.12.20 v2.00 バージョン2公開
2009.12.28 v2.01 一括整形機能によるRich Textの表示改善など


SourceForge.JP is a Japanese version of SourceForge.net. For developments that are not related to Japan, we recommend you to use SourceForge.net.