View Full Version : IsExist ...
alinux_redhat
دوشنبه 18 اردیبهشت 1385, 10:56 صبح
میخوام چک کنم که آیا دیتا بیسی با نام DB_Name وجود داره یا نه ، دستورش چیه؟
بعد هم آیا دستوری داریم که دیتا بیس رو پاک کنه
Kamyar.Kimiyabeigi
دوشنبه 18 اردیبهشت 1385, 14:14 عصر
برای اینکه ببینید DB وجود دارد میتونین از SELECT زیر استفاده کنین
USE master
SELECT name FROM sysdatabases
WHERE name = 'database name'
GO
برای حذف یک DB هم از کد زیر استفاده کنین
DROP DATABASE templatedb
GO
alinux_redhat
دوشنبه 18 اردیبهشت 1385, 19:01 عصر
ممنون
این دستور سلکت آخرش چی میشه بعد از اجرا کردن command باید چه کارکنم؟
یه سوال دیگه هم اینکه این DROP کار deattach رو میکنه؟؟
AminSobati
دوشنبه 18 اردیبهشت 1385, 22:05 عصر
سعی کنید از Viewهای سیستمی Query بگیرید به جای جداول سیستمی:
select * from information_schema.schemata
where catalog_name='Your Database'
Detach باعث میشه دیتابیس شما از لیست SQL Server خارج بشه و کلا آزاد بشه ولی فایلهای اون سرجاشون هستند. Drop باعث میشه تا کلا دیتابیس حذف بشه (حتی از روی دیسک)
ardvisoor
سه شنبه 19 اردیبهشت 1385, 10:05 صبح
SroredProcedureای هم در زیر مجموعه master وجود دارد بنام sp_Databases که نام تمام Databaseهای موجود را به شما می دهد(یکی از فیلدهایش DATABASE_NAME ) است.
alinux_redhat
سه شنبه 19 اردیبهشت 1385, 22:14 عصر
خوب ،باتشکر از همه دوستان
جناب ثباتی من دستور شما رو تو QA نوشتم و یه جدول داد که یه ردیف داشت و اگر کاتالوگی میدادم که وجود نداشت جدولی بدون ردیف برمیگردوند
خوب حالا میخوام از تو برنامه بهش دسترسی پیدا کنم یعنی اینکه چک کنم اگه یه ردیف داشت یعنی دیتا بیسم وجود داره اما چطوری دسترسی پیدا کنم؟
یه راه حلی که تو ذهن خودمه اینه که مثل یه ویو معمولی باهاش برخوردکنم و در آخر count جدول رو بشمارم البته با کانکشن مستر
اگه مشکلی تو کارم هست لطفا بگید
alinux_redhat
سه شنبه 19 اردیبهشت 1385, 22:19 عصر
البته آقای کاویانی دستور شما رو یه تغییردادن که فکر کنم مشکلم حل شه که جای نوشتن * نوشتن count ( * )
Omid Rekabsaz
چهارشنبه 20 اردیبهشت 1385, 17:52 عصر
از if exists استفاده نمایید...
alinux_redhat
چهارشنبه 20 اردیبهشت 1385, 22:19 عصر
اگه دقت کنید من هم این تاپیک رو با عنوان ISExist به وجود آوردم
میشه دستورش رو بگید هر چند برنامم تموم شده و جواب گرفتم اما میخوام یه چیز جدید یاد بگیرم
AminSobati
چهارشنبه 20 اردیبهشت 1385, 23:32 عصر
if exists(select * from information_schema.schemata
where catalog_name='Your Database')
print 'yes'
else
print 'no'
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.