これがこの質問に似ていることは知っていますが、C# の WinForms プロジェクトで SQL Server CE 3.5 を使用しています。テーブルが存在するかどうかを確認するにはどうすればよいですか? IF
キーワードがサポートされていないことは知っていますが、サポートされていEXISTS
ます。information_schema は CE に存在し、それに対してクエリを実行できますか? ありがとう。
16104 次
3 に答える
36
はい、存在します:
SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 'TableName'
于 2009-01-10T18:51:21.567 に答える
1
別の方法として、テーブルをクエリして、スローされた例外をキャッチできます。例外がある場合、テーブルは見つかりませんでした。それ以外の場合、テーブルは存在します。
SELECT TOP 1 1 FROM TableName;
少し単純なパフォーマンス テストは、INFORMATION_SCHEMA に対するクエリよりも優れた結果を示しました。INFORMATION_SCHEMA に対するクエリはよりクリーンであると考えますが。
于 2013-02-24T00:34:03.790 に答える
0
データベース ヘルパーの使用:
var db = Database.Open("MyDatabase");
var sql = @"SELECT Count(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'MyTable'"
var count = db.QueryValue(sql);
if(count.Equals(1)){
//table exists
}
于 2014-10-08T07:08:01.503 に答える