こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

SQL Server2000でcase文がサポートされてない?

お世話になります。
客先より、SQL Server2000のEnterprise ManagerでCASEを含むSQLを実行したら
「case SQL構成はサポートされていません」とエラーが出たと連絡が入りました。

自分のマシンに入っている同ツールで実行すると、エラーは出ません。

客先と自分のマシンのSQL Server2000の違いは、バージョンなのですが、
古いバージョンだとcase文がサポートされていないということはあるのでしょうか?
自分のマシンは最新バージョンが入っています。

SQL文の内容的に、case文が必要なので、代替案も思いつかず、困っています。

よろしくお願いいたします。

投稿日時 - 2007-01-15 10:46:19

QNo.2667414

すぐに回答ほしいです

質問者が選んだベストアンサー

客先の状況ですが、

・サーバー(DBの本体)は古いSQL Server
・管理用端末には、SQL Server2000のEnterpriseManagerやツールが
 インストールされている

ということでしょうか?いや、「客先のSQL2000のEnterprise...」と書かれているので、そのまま読むとバージョンが同じように見えてしまいます。客先のDBサーバーで動いているSQL Server本体のバージョンが判れば、それを書かれた方が話は早いと思います。

で、軽く見てみたところ、マイクロソフトがSYBASE社からSQL Serverを買い取った頃のバージョン(Ver.4だそうです)では、CASE文はサポートされていなかったかもしれません。

http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpdnsqlsg/htm/SQL_WH/DevRSKit/sqldv58.asp

によると、SQL Server6.0からANSIスタイルのCASE式に対応した、と書かれています。私が初めて使ったSQL Serverが6.5で、97年頃の話でしたから、それ以前。かなり前のバージョンですが、そんなに古いサーバーのお話でしょうか?

そのあたりをまずしらべられて、疑問を払拭されるのがよいと思います(もしかしたら、バージョンを問い合わせたりとかが、いろんな事情で出来ない状況なのかな?とも推測しますが...そこは判らないのでお任せしますね)。

何かのヒントになれば幸いです。

投稿日時 - 2007-01-15 11:51:36

お礼

ありがとうございます。

・サーバー・クライアント共にSQL Server2000が入っています。
・提供しているシステムはDelphiで作成しているのですが、
 BDE経由でCASE文を実行しているところが多数あるため、
 CASE文自体が使えない、ということではなさそうです。

客先のSQL Server2000は、初期のものがはいっており、
自分のマシンには、SQL Server2000の最新バージョンが入っているので、
そこが理由かと思ったもので・・・。

客先に、SQL Server2000バージョンを確認してみます。
ありがとうございました。

投稿日時 - 2007-01-15 12:13:09

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問