ホーム > SQL Server, データベース > SQL Server Compact 3.5 と SQL Server 2008 TOP句の記述の許容の違い

SQL Server Compact 3.5 と SQL Server 2008 TOP句の記述の許容の違い

2009 年 4 月 21 日

TOP句の記述の許容の違い

photo by artzy.viva

SQL Server Compact 3.5で、TOP句を記述してエラーとなりました。

SQL Server Compact 3.5はイマイチ、返されるエラーが大雑把で原因が分かりにくいですね。

エラーとなったTOP句を含んだ文

select TOP 1 hoge_id from hoge ORDER BY hoge_id DESC

SQL Server 2008 Expressでは、エラーも返ることなくすんなりと通してくれます。

SQL Server 2008 MSDN Transact-SQL
TOPを参照してみると、

TOP句は、返す行数を表す数式を括弧でくくるのが正しい書き方でした。

これまで、括弧でくくらず書いていました……

SQL Server 2008ではエラーを正して実行してくれていたのですね。

ですが、SQL Server Compact 3.5には、通じなかったようです。

正しいTOP句は、下記の通りです。

select TOP (1) hoge_id from hoge ORDER BY hoge_id DESC

これからは、必ず括弧でくくります。

関連するエントリー

    None Found

SQL Server, データベース , , , , , ,

  1. コメントはまだありません。
  1. トラックバックはまだありません。