我们有一些初始化代码可确保所有需要的资源到位,
即:如果丢失,则创建这些资源(文件,目录,数据库,表等),否则不执行任何操作。
但是,当一个数据库正在使用时(即存在且已经有实时连接),一个新的应用程序 通过初始化代码等待永远。
原因是“创建数据库,如果不存在”有点愚蠢:它试图拥有数据库,即使它存在,也不应该做任何事情。
有没有办法检查数据库是否已经存在,不涉及这样的锁?
答案 0 :(得分:1)
SELECT EXISTS(
SELECT 1
FROM INFORMATION_SCHEMA.SCHEMATA
WHERE SCHEMA_NAME = 'MyDatabaseName'
) AS e
如果数据库存在,则返回1(并且执行查询的用户具有能够看到它的相应权限,等等等等); 0否则
答案 1 :(得分:0)
假设确实如此。如果没有,你的系统就会被打破。当您尝试执行查询时,它将被SQL错误捕获。
答案 2 :(得分:0)
我当然看不到所描述的这种行为。