タグ

SQLに関するajapoのブックマーク (7)

  • SQL Server 開発チーム ブログ - Site Home - MSDN Blogs

    マイクロソフト日法人の SQL Server 開発チームのブログです。 SQL Server 2008 CQI 書籍 (MS-Press) 出版 マイクロソフトの星川です。 SQL Server 2008リリース時に日独自にパートナー様と共同実施したCQI (Center of Quality Innovation)... Author: thoshi Date: 05/12/2009 CQI 徹底検証シリーズにデータウェアハウスシナリオのホワイトペーパーが追加されました マイクロソフトの植田です。 たびたび予告させていただいていました、SQL Server 2008データウェアハウスシナリオのホワイトペーパーが公開されました。 SQL Server... Author: koheiu Date: 11/29/2008 SQL Server 2008 データウェアハウスシナリオ Tip

    SQL Server 開発チーム ブログ - Site Home - MSDN Blogs
    ajapo
    ajapo 2009/10/09
    DMV(Dynamic Management View: 動的管理ビュー)を利用したインデックスの管理
  • Oracle の MERGE 構文に関する備忘録 - バインド変数の扱い方

    DB アプリを書いていると、どうしても使いたくなるのが UPSERT 機能。 実際には UPSERT という構文はありませんが、意味としてはレコードがあれば UPDATE で更新し、レコードがなければ INSERT で追加をするってことです。 従って、普通に書くなら、SELECT → UPDATE/INSERT と場合分けというロジックでプログラムを書くわけですが、トランザクションで考えるとコレが意外とやっかいなときがあります。そのような場合は SELECT FOR UPDATE とか使って行ロックをかけたりする訳なのですが、これまた予期せぬロック待ちの元になったりする場合があり得るので、あまり人に書かせたくない。 Oracle には UPSERT に相当する構文として MERGE 構文があるので、結構重宝します。ただし Oracle9 以降で実装された機能なのですが、今時 8i 以前を使

    ajapo
    ajapo 2008/07/06
    MERGE文でDUAL表を使ってUPSERTする。
  • 動的SQLによる数独の超高速解法:CodeZine

    Pinskiさんの記事は、「SQLで数独を解ける」ことを示したという点で評価できます。しかしながら、そのためのコードと実行時間が共に長大であるため、「SQLは面倒で遅い」という誤解を読者に与えかねません。稿で紹介する方法で、誤解が払拭されることを期待します。 第1、2部と第3部の手法を簡単にまとめておきましょう。 第1、2部では、手続き的な記述、つまり、どうすれば数独の解が得られるかの具体的な記述によって数独を解いています。手続き的とは言っても、せっかく宣言型言語であるSQLを使うので、手順の各ステップはなるべく宣言的に記述するように心がけています。 第3部(稿)の方法の質はたった1行のSELECT文です。このSELECT文には「数独の解とはどういうものか」だけが記述してあり、その解を得るための具体的な方法はコンピュータが考えます。ただし、このSELECT文は人間が手で簡単に書けるよ

  • SQLによる数独の解法:CodeZine

    はじめに SQLを使って数独(ナンプレ)を解く方法を紹介します。 データベースを操作するための言語であるSQLを別の用途に使おうとする理由は、SQLが宣言的な記述が可能な言語の中で最も普及していると思われるからです(宣言的言語と言えばPrologを思い浮かべる方も多いかもしれませんが、残念なことにPrologは、SQLほどには普及していません)。 まず、宣言的な記述について説明しましょう。タクシーに乗ることを想像してください。「渋谷に行ってください」というように、欲しい結果を書くのが宣言的な記述です。具体的な道筋は運転手が考えてくれます。それに対して「まずA通りを北に行って、B交差点を左折して・・・」というように、具体的な道筋を示すのは手続き的記述です。プログラミング言語の場合も同様です。SQLやPrologにおいては、欲しい結果をプログラマが書けば、具体的な実現方法はコンピュータが考えて

    ajapo
    ajapo 2007/09/07
    目鱗な解き方
  • 彼女にINSERT権限がありません。:アルファルファモザイク

    編集元:データベース板より「彼女にINSERT権限がありません」 117 NAME IS NULL :03/12/25(木) 20:25 ID:??? lヽ ノ l        l l l ヽ   ヽ )'ーーノ(  | |  | 、      / l| l ハヽ  |ー‐''"l / S  | | |/| ハ  / / ,/ /|ノ /l / l l l| l  S ヽ l   ・  i´ | ヽ、| |r|| | //--‐'"   `'メ、_lノ| /  ・  / |  Q  l  トー-トヽ| |ノ ''"´`   rー-/// |  Q | |  ・   |/     | l ||、 ''"""  j ""''/ | |ヽl  ・ | |  L   |       | l | ヽ,   ―   / | | l  L  | |   !!  |     / | |

  • MOONGIFT: » DBがなくともDBを使う「Gladius DB」:オープンソースを毎日紹介

    この手のソリューションとしては最高峰と言えるかも知れない。 最近のWebアプリケーションはDBの利用がほぼ当たり前になっている。やはりデータの取り出し、更新などはDBを使うと非常に簡単に行えるからだろう。だが、レンタルサーバーなどでは必ずしもDBが使えるとは限らない。 そこで使ってみたいのがこれだ。また、自作アプリケーション開発時にも使えそうだ。 今回紹介するオープンソース・ソフトウェアはGladius DBPHPで作られたファイルDBだ。 Gladius DBの凄いところはSQL92に準拠して開発が進められている点だ。CREATE DATABSEからはじまって、USE、CREATE TABLE、INSERT、UPDATE、DELETE等が利用できる。 もちろん、WHERE句やOREDR BYもサポートされている。ADOdb Lite向けのドライバーも提供されており、これを使えばADOd

    MOONGIFT: » DBがなくともDBを使う「Gladius DB」:オープンソースを毎日紹介
  • SQL文をきれいにフォーマットしてくれる『SQL in Form』 | POP*POP

    長~いSQL文を見ているとどこがどういう構造になっているのかがわからなくなってきますよね。 そうしたときに使えそうなのが「SQL in Form」です。 一般向けのサービスではないですが、関係ある方には便利なのでは。 以下に簡単にご紹介。 ↑ たとえばこのようなSQL文。コメント分やインデントがわかりにくくなっています。 ↑ SQL in Formを通せばこの通り。構造がすっきりして見やすいですね。 変換する際には改行やインデント、空白の扱いなどの設定をすることもできます。またデスクトップ用のアプリもあるみたいですね。 ご利用は以下からどうぞ。無料で使えます。 » SQL Formatter / SQLFormatter formats SQL Statements

  • 1