長い SQL をそのままスクリプトに埋め込むと行が非常に長くなる。 また、あとでスクリプトやソースを見たときに、何がどうなっているのか読み取るのに時間がかかるので、ある程度整形した方が良い。
例えば、次のような SQL を PHP スクリプトに書くときは、
を、改行を入れるなどして、
としている。
ただ、こういう作業は結構めんどくさい。 タイプ量も当然増えるし。
やりたくないけど、最近は数日コードを見ないだけで、それが何をしているのか分からなくなってきてるので、こういう作業や十分に詳しい説明コメントを入れる作業は省けない。
それでも、なんとか省力化したい。
Windows のツールには、CSE というのがあり、これに長い SQL を貼り付けて、Ctrl+Q とすると、ぱらっと展開してくれる。
こんな感じ。
ちょっと崩しすぎな気はするけど、一発で崩してくれるので助かる。
CSE の配布元は以下。
○つみきWeb
http://www.hi-ho.ne.jp/tsumiki/
CSE は便利なんだが、普段作業をしているのは Emacs 上なので、Emacs に SQL 崩しをやってくれる機能があると便利なんだけどなあ。
さっと検索しただけでは見つけきれなかった。
どなたか、ご存じならお知らせ頂けるとうれしいです。
例えば、次のような SQL を PHP スクリプトに書くときは、
select q1.*, u.name from ( select sectionid, sectionname from section where sectionid='hoge' ) as q1 left join users as u on q1.uid=u.id order by u.name; |
を、改行を入れるなどして、
$sql = "select q1.*, u.name "; $sql .= "from ( "; $sql .= " select sectionid, sectionname "; $sql .= " from section "; $sql .= " where sectionid='hoge' ) as q1 "; $sql .= "left join users as u on q1.uid=u.id "; $sql .= "order by u.name"; |
としている。
ただ、こういう作業は結構めんどくさい。 タイプ量も当然増えるし。
やりたくないけど、最近は数日コードを見ないだけで、それが何をしているのか分からなくなってきてるので、こういう作業や十分に詳しい説明コメントを入れる作業は省けない。
それでも、なんとか省力化したい。
Windows のツールには、CSE というのがあり、これに長い SQL を貼り付けて、Ctrl+Q とすると、ぱらっと展開してくれる。
こんな感じ。
SELECT q1.*, u.name FROM (SELECT sectionid, sectionname FROM section WHERE sectionid='hoge' ) as q1 left join users as u on q1.uid=u.id ORDER BY u.name |
ちょっと崩しすぎな気はするけど、一発で崩してくれるので助かる。
CSE の配布元は以下。
○つみきWeb
http://www.hi-ho.ne.jp/tsumiki/
CSE は便利なんだが、普段作業をしているのは Emacs 上なので、Emacs に SQL 崩しをやってくれる機能があると便利なんだけどなあ。
さっと検索しただけでは見つけきれなかった。
どなたか、ご存じならお知らせ頂けるとうれしいです。
SQLConvertかSQL MK2を使った方がいいです。
どちらのツールも知りませんでした。