2012-01-04 18 views
1

insert into ... where (..)をSQL Server CEで使用する方法?SQL Server Compact EditionでSQLクエリが機能しない

このクエリ:

insert into table(field) values(@val) 
where not exists (select field from table where field = @code); 

戻り

クエリを解析エラーが発生しました。 [トークン行番号= 1、トークン行オフセット= 40、トークンエラー中=]

どうしたらいいですか?前もってありがとうございます

+2

「INSERT INTO ... SELECT ... WHERE(...)」を試してください –

+0

@ todda.speot.is:これは有効な構文ですが、クエリと一致するテーブル内のすべての行に対して挿入を繰り返します。 –

+0

@competent_tech SQL CEが異なっていない限り(私はそれがあるとわかっています)、 'FROM'句を省略すると、そのシナリオが妨げられます。 –

答えて

2

これは古い方法で行う必要があります:問題のレコードをデータベースから選択し、存在しない場合は挿入を実行します。

Here's a link関連するMSDNのドキュメント。

1

SQL CEはそれをサポートしていないため、あなたの問題は「存在しない」と確信しています。次のような質問へのリンクがあります:“If not exists” fails on SQL CE

関連する問題