উত্তর:
মাইক্রোসফ্টের স্ক্রিপ্ট থেকে:
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/function/db-id-transact-sql দেখুন
[master]
[ ]
আপনার কলটিতে আপনাকে অন্তর্ভুক্ত করা উচিত নয় db_id
; এটি এসকিউএল সিনট্যাক্স, ডাটাবেসের নামের অংশ নয়।
IF EXISTS (SELECT name FROM master.sys.databases WHERE name = N'YourDatabaseName')
Do your thing...
যাইহোক, এটি সরাসরি এসকিউএল সার্ভার স্টুডিও থেকে এসেছে, সুতরাং আপনার যদি এই সরঞ্জামটিতে অ্যাক্সেস থাকে তবে আমি আপনাকে বিভিন্ন "স্ক্রিপ্ট এক্সএক্সএক্সএক্সএক্সএক্সএক্স এএস" ফাংশনগুলির সাথে খেলতে শুরু করার পরামর্শ দিই। আপনার জীবন সহজ করে দেবে! :)
আমি @ এদুয়ার্দোর উত্তর পছন্দ করি এবং আমি গৃহীত উত্তরটি পছন্দ করি। আমি এই জাতীয় কিছু থেকে একটি বুলিয়ান ফিরে পেতে পছন্দ করি, তাই আমি আপনার ছেলেদের জন্য এটি লিখেছিলাম।
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