我想检查数据库名称是否已经存在于 sql server 2008 中。如果这不是意味着我需要创建数据库。我怎样才能检查这个?
问问题
1931 次
6 回答
2
Connection connection = DriverManager.getConnection();
ResultSet resultSet = connection.getMetaData().getCatalogs();
while (resultSet.next()) {
// Get the database name
String databaseName = resultSet.getString(1);
}
resultSet.close();
于 2013-05-07T12:09:41.577 回答
0
您可以使用show databases;
SQL 查询。
于 2013-05-07T12:08:01.930 回答
0
如果您在启动查询中执行此操作,请使用create if not exists
SQL 语句组合这两个操作(有关确切语法,请参阅您的 DBMS 实际文档)。
于 2013-05-07T12:09:07.107 回答
0
可能这对您有帮助-
CREATE FUNCTION dbo.is_db_exists
(
@db_name NVARCHAR(100)
)
RETURNS INT
AS BEGIN
IF EXISTS (
SELECT 1
FROM sys.databases
WHERE name = @db_name
) RETURN 1
RETURN 0
END
或者这个查询 -
IF DB_ID('<db_name>') IS NOT NULL
PRINT 'DB is exists'
于 2013-05-07T12:09:57.577 回答
0
您可以检查它是否不存在:
IF NOT EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'YourDBName')
CREATE DATABASE [YourDBName]
或者您可以检查它是否存在然后删除它:
IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'YourDBName')
DROP DATABASE [YourDBName]
于 2013-05-07T12:09:59.237 回答
0
您可以sp_databases
在 sql server 查询窗口中使用命令
于 2013-05-07T12:10:34.913 回答