반응형
SQL Server에 데이터베이스가 있는지 확인하는 방법
TSQL을 사용하여 데이터베이스가 SQL Server에 있는지 확인하는 이상적인 방법은 무엇입니까? 이것을 구현하는 방법은 여러 가지가 있습니다.
Microsoft의 스크립트에서 :
DECLARE @dbname nvarchar(128)
SET @dbname = N'Senna'
IF (EXISTS (SELECT name
FROM master.dbo.sysdatabases
WHERE ('[' + name + ']' = @dbname
OR name = @dbname)))
-- code mine :)
PRINT 'db exists'
실제로 사용하는 것이 가장 좋습니다 :
IF DB_ID('dms') IS NOT NULL
--code mine :)
print 'db exists'
https://docs.microsoft.com/en-us/sql/t-sql/functions/db-id-transact-sql을 참조 하십시오.
IF EXISTS (SELECT name FROM master.sys.databases WHERE name = N'YourDatabaseName')
Do your thing...
그건 그렇고, 이것은 SQL Server Studio에서 직접 제공 되었으므로이 도구에 액세스 할 수 있다면 사용 가능한 다양한 "Script xxxx AS"기능을 사용하여 시작하는 것이 좋습니다. 당신의 인생을 더 쉽게 만들 것입니다! :)
나는 @Eduardo의 답변을 좋아하고 허용되는 답변을 좋아했습니다. 나는 이런 식으로 부울을 되찾고 싶어서 너희들을 위해 그것을 썼다.
CREATE FUNCTION dbo.DatabaseExists(@dbname nvarchar(128))
RETURNS bit
AS
BEGIN
declare @result bit = 0
SELECT @result = CAST(
CASE WHEN db_id(@dbname) is not null THEN 1
ELSE 0
END
AS BIT)
return @result
END
GO
이제 다음과 같이 사용할 수 있습니다.
select [dbo].[DatabaseExists]('master') --returns 1
select [dbo].[DatabaseExists]('slave') --returns 0
이 시도
IF EXISTS
(
SELECT name FROM master.dbo.sysdatabases
WHERE name = N'New_Database'
)
BEGIN
SELECT 'Database Name already Exist' AS Message
END
ELSE
BEGIN
CREATE DATABASE [New_Database]
SELECT 'New Database is Created'
END
또 다른 방법은 사용하는 것입니다 SqlDataReader
따라 SqlConnection
와 SqlCommand
. HasRows
속성을 사용하십시오 . 그것은이다 true
데이터베이스가 존재하는 경우 false
가 아닌 경우.
예 (이 예에서 데이터베이스 이름은 "일치") :
string CreateDatabaseConnectionString="/*the connection string*/";
public static bool DatabaseExists()
{
bool Count;
string DatabaseCheckString = "select name from master.sys.databases where name='Matches'";
SqlConnection MyConn = new SqlConnection(CreateDatabaseConnectionString);
SqlCommand DatabaseExistsCommand = new SqlCommand(DatabaseCheckString, MyConn);
MyConn.Open();
SqlDataReader Reader = DatabaseExistsCommand.ExecuteReader();
Count = Reader.HasRows;
MyConn.Close();
return Count;
}
참고 URL : https://stackoverflow.com/questions/679000/how-to-check-if-a-database-exists-in-sql-server
반응형
'IT story' 카테고리의 다른 글
사용중인 NumPy 버전을 어떻게 확인합니까? (0) | 2020.04.05 |
---|---|
pom.xml 파일에서 Java 컴파일러 버전을 어떻게 지정합니까? (0) | 2020.04.05 |
여러 개의 AsyncTask를 동시에 실행하는 것은 불가능합니까? (0) | 2020.04.05 |
숫자 및 범위가있는 AngularJS For 루프 (0) | 2020.04.05 |
PHP 스크립트의 실행 시간을 측정하는 정확한 방법 (0) | 2020.04.05 |