میخوام چک کنم که آیا دیتا بیسی با نام DB_Name وجود داره یا نه ، دستورش چیه؟
بعد هم آیا دستوری داریم که دیتا بیس رو پاک کنه
میخوام چک کنم که آیا دیتا بیسی با نام DB_Name وجود داره یا نه ، دستورش چیه؟
بعد هم آیا دستوری داریم که دیتا بیس رو پاک کنه
برای اینکه ببینید DB وجود دارد میتونین از SELECT زیر استفاده کنین
USE master
SELECT name FROM sysdatabases
WHERE name = 'database name'
GO
برای حذف یک DB هم از کد زیر استفاده کنین
DROP DATABASE templatedb
GO
آخرین ویرایش به وسیله Kamyar.Kimiyabeigi : دوشنبه 18 اردیبهشت 1385 در 15:05 عصر
ممنون
این دستور سلکت آخرش چی میشه بعد از اجرا کردن command باید چه کارکنم؟
یه سوال دیگه هم اینکه این DROP کار deattach رو میکنه؟؟
سعی کنید از Viewهای سیستمی Query بگیرید به جای جداول سیستمی:
select * from information_schema.schemata
where catalog_name='Your Database'
Detach باعث میشه دیتابیس شما از لیست SQL Server خارج بشه و کلا آزاد بشه ولی فایلهای اون سرجاشون هستند. Drop باعث میشه تا کلا دیتابیس حذف بشه (حتی از روی دیسک)
SroredProcedureای هم در زیر مجموعه master وجود دارد بنام sp_Databases که نام تمام Databaseهای موجود را به شما می دهد(یکی از فیلدهایش DATABASE_NAME ) است.
خوب ،باتشکر از همه دوستان
جناب ثباتی من دستور شما رو تو QA نوشتم و یه جدول داد که یه ردیف داشت و اگر کاتالوگی میدادم که وجود نداشت جدولی بدون ردیف برمیگردوند
خوب حالا میخوام از تو برنامه بهش دسترسی پیدا کنم یعنی اینکه چک کنم اگه یه ردیف داشت یعنی دیتا بیسم وجود داره اما چطوری دسترسی پیدا کنم؟
یه راه حلی که تو ذهن خودمه اینه که مثل یه ویو معمولی باهاش برخوردکنم و در آخر count جدول رو بشمارم البته با کانکشن مستر
اگه مشکلی تو کارم هست لطفا بگید
البته آقای کاویانی دستور شما رو یه تغییردادن که فکر کنم مشکلم حل شه که جای نوشتن * نوشتن count ( * )
از if exists استفاده نمایید...
اگه دقت کنید من هم این تاپیک رو با عنوان ISExist به وجود آوردم
میشه دستورش رو بگید هر چند برنامم تموم شده و جواب گرفتم اما میخوام یه چیز جدید یاد بگیرم
if exists(select * from information_schema.schemata
where catalog_name='Your Database')
print 'yes'
else
print 'no'