システム構築 ボードリーダー:小野 哲
毎月第2、第4木曜日はボードリーダーからのレポートを掲載いたします。
2002年12月26日
『SQLの方言について』
年を重ねるごとに師走の忙殺状態はエスカレートするものですね。根を詰め ると風邪を引きやすくなりますので、休めるときは充分な休養をとるようにし たいものです。
さて、Oracle で作られたシステムを SQL Server にコンバートしたいとい う要件は案外多いと思います。そんな時みなさんはどうしているでしょうか?
やはり SQL 文とにらめっこをして一つ一つ丁寧に翻訳しているでしょうか?
データベースのミグレーションというテーマは地味ではありますが、非常に 重要です。最も苦労するがSQL文の方言の違いをどうするかということです。
方言の違いは単純なシンタックスの違いでは片付けられないものです。たとえば Oracle には条件によって値を振り分ける DECODE という関数があります。 とても便利なので現場では多く使われております。これなどは Oracle 特有の 関数ですのでもちろん SQL Server にはありません。そこで CASE 式を使って SQL 文を改変することになるのですが、結構大変な作業になったりします。
それぞれのデータベース製品が SQL92 や 99 に完全準拠していればこうい った作業は存在しないはずですが、逆にそういったことが実現してしまうと案 外窮屈なのかもしれません。○○ではこう書けばいいが、□□ではできない。 その反対ももちろん有り。そういった状況があればこそ製品を提供する企業ど うしの競争の戦略性を高めているのかもしれません。
とはいっても、そういった地道な作業は、現場のエンジニアにとっては辛い ものです。みなさんはこういった方言の違いをどのような方法で解決している のでしょうか?お聞かせください。
ボードリーダーレポート トップページへ
PASSJメールニュース
著作権ついて
プライバシーポリシー
リンクポリシー
お問い合わせ
(C) 2005 Professional Association for SQL Server Japan. All rights reserved.