태그 보관물: database

database

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


답변