我知道这类似于this question,但我使用的是SQL Server CE3.5和C#中的一个WinForms项目。如何确定表是否存在?我知道虽然支持EXISTS
,但不支持IF
关键字。CE中是否存在可以查询的information_schema?谢谢。
发布于 2009-01-10 18:51:22
是的,它确实存在:
SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 'TableName'
发布于 2013-02-24 08:34:04
作为替代方法,您可以查询该表并捕获抛出的异常。如果存在异常,则未找到该表,否则该表存在。
SELECT TOP 1 1 FROM TableName;
一个简单的性能测试比对INFORMATION_SCHEMA的查询有更好的结果。尽管我会认为对INFORMATION_SCHEMA的查询更简洁。
发布于 2014-10-08 15:08:02
使用Database helper:
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
}
https://stackoverflow.com/questions/431511
复制相似问题