![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiee0YDCzZFY5w_WeIt7Eft-TCBI-YBe8OuAo_gu7-8JQ253kydi2UcBEI5-_WBWV7d5qObkH3TnyBLK1Sjbt-UlEJEpYyuCxiXNmfPI47Dbqa5bSCr_kcKXd64EuHXhKpaYdQyB4VexkM/s320/0000.jpg)
そこで、今回は、先日の記事で作ったサンプルをベースにして、「再帰クエリーによる、電子掲示板(BBS)データ作成」をやらせていただきたいと思います。
電子掲示板データを格納するテーブ
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5CkcW-O6Onp3KiTnOw4aYqx7bUx4t8RaRUU1P4zGM7QxbOc3L00bII5SYBv3ceak-UTJMniadYB3eZkLXvCjBGkr13Mr2goTw4lzFX5gd3WzLgWk-Dk77usJPbrMXqQUrMwJAH32o6_Q/s320/0002.jpg)
フィールドはたったの三つだけ。発言ID、レス先のID、発言内容だけです。
SQL-Server 2008 Expressの再帰クエリーを使えば、複雑なプログラムを組む事をせずに、このシンプルな情報から、発言のつながりや階層のレベル、一番最初の発言をグループ主にしたソートなど、必要な内容を迅速に得る事が出来ます。いや、迅速というよりもクエリーの一文で書けてしまうのが2008の威力。スゴイところ。
今回作ってみたサンプルの再帰クエリーの構
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgH0lr0TkPJxYpuxmbnpxNQyA34zRYMwVPMSWnn-zxeYJIDuGPdU6fqhYmwSnftmRoDL2HpI4Fg3L_UJCM0Up9cVwfJ3AQ7ntcmbSc2uub8WARgU_0Gbfqwq9a1oMYeklmMI94nQoMIras/s320/0003.jpg)
ただ、電子掲示板のデータはソートも重要なので、最上位の発言をグループ主として管理し、最後にこれを最優先のソート条件にしています。
先日の記事の繰り返しになりますが、再帰クエリーは、単独の機能ではなくて、あくまでも共通テーブル式CTEの応用なのがポイントであります。
ですから、CTEを使っていれば自然と再帰クエリーが分かってくるのかなぁと思います。
CTEは、再帰ばかりでなく、
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKBAyyaoEq2o0PyAwpdtjTk4ZCrpeUIMvYMWvilCR4eraL2H_eA21q1w5MJsk5dw9AYylopE5uVrJgl_x32zErgU-83hX_6_OPGHJ8v2TuU4eftPfBqPQ50PaQwVHHCaJv4JpORybiR-w/s320/0004.jpg)
文の外では無効になってしまうのが辛いところですが、パフォーマンスが良いみたいなので、SQL-Server 2008では積極的に使いたいなぁと思います。
それにつけても、モバイルパソコンって本当に良いもんですね。
性能の許す限り何でも出来てしまうその自由っぷりが良い。
使うたびに何回も思ってしまうんですが、Aspire 14
パソコンの常として、Aspire 1410も、すぐにさらに高性能な後継機が出てくるはず。
まぁAspire 1410がかすむほどの大幅進化なら、一年か二年くらいは時間がかかるでしょうが、その時はまた買いたいなぁと思えますね。
(追記)Aspire 1410の良さですが、何気にLEDバックライト液晶の良さも大きいです。まっ昼間の屋外とかの悪条件、PSPでは外光に負けて全く何も見えなくなる条件であっても、Aspire 1410なら平気だったりします。起動直後でも、色味が安定してたりしますし、LEDバックライトいいなぁと。この価格でLEDバックライト搭載とかって、エイサーどれだけ企業努力してるんだと頭が下がりますね・・・。