SQL Server Compact 3.5 と SQL Server 2008 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