PDA

View Full Version : سوال: Delete کردن چندین رکورد با هم



baran_mehr
پنج شنبه 26 دی 1387, 12:48 عصر
سلام دوستانه گلم:قلب:
چطوري ميتونم يک ليست از اطلاعات را يکجا پاک کنم. به عنوان مثال با دستور زير ميتوان يک ليست از اطلاعات را برگرداند ميخوام بدونم اين کار را چطور براي حذف از جدول انجام ميدن

SELECT * FROM dbo.Orders WHERE OrderID IN (10265,10295,10275)

Accidentboy
پنج شنبه 26 دی 1387, 13:46 عصر
سلام اگه OrderId کلیدتون باشه


DELETE FROM dbo.Orders WHERE OrderID IN (10265,10295,10275)

baran_mehr
پنج شنبه 26 دی 1387, 14:00 عصر
دوست عزیز من اینو امتحان کرده بودم اما جواب نداد و خطای زیر رو میگیره

DELETE statement conflicted with COLUMN REFERENCE constraint 'FK_Order_Details_Orders'. The conflict occurred in database 'Northwind', table 'Order Details', column 'OrderID'.
The statement has been terminated.
راستی عزیزم اگر میشه کدهاتون رو بین تگ کد قرار بدید تا ظاهری بهتر داشته باشه. ممنون

Accidentboy
پنج شنبه 26 دی 1387, 15:34 عصر
سلام
از نصیحت تون تشکر می کنم

'FK_Order_Details_Orders'
این Relationship Name این نشون میده که OrderID هایی که می خواین پاک کنید تو جدول Orders Detail استفاده شده
راستی عزیزم من Northwind DataBase ندارم اگه داشتم Relationship Name ها و Parent ها وChild ها واستون توضیح می دادم

baran_mehr
پنج شنبه 26 دی 1387, 16:46 عصر
این Relationship Name این نشون میده که OrderID هایی که می خواین پاک کنید تو جدول Orders Detail استفاده شده
خوب باید چی کار کرد؟ ایا باید از اون جدول هم پاک کنم یا باید کار دیگه ای انجام بدم؟؟

Accidentboy
پنج شنبه 26 دی 1387, 20:22 عصر
خوب باید چی کار کرد؟ ایا باید از اون جدول هم پاک کنم یا باید کار دیگه ای انجام بدم؟؟

ببیند اگه فقط با Order Detail در ارتباط باشه می تونی از اون جدول حذفش کنی و اگه کلید خارجی باشه می تونی اون فیلد و Null کنید

baran_mehr
پنج شنبه 26 دی 1387, 21:32 عصر
من جایی خونده بودم که کلید خارجی میتونه یک کلید باشه، البته اگر درست یادم مونده باشه
اما مگه این دو جدول به چه صورتی با هم ارتباط دارند که نمیشه فیلدهای جدول Order رو به تنهایی حذف کرد؟

Accidentboy
پنج شنبه 26 دی 1387, 21:59 عصر
ما یه نوع کلید خارجی FK و یه کلید داخلی PK
ببیند شما دارید کلید ی رو جذف می کنید که در جای دیگه استفاده شده
شاید این خوب باشه :
http://barnamenevis.org/forum/showthread.php?t=123946&highlight=%DA%A9%D9%84%DB%8C%D8%AF

haririan2
دوشنبه 14 اردیبهشت 1388, 22:51 عصر
سلام من در پاک کردن فایل های خودم مشکل دارم وقتی که دستور را میزنم و بعد چک می کنم تعداد رکورد های اگر زیاد باشد به طور کامل نمی تونه پاک کنه مثلاً از 1000 رکورد 700 تاشو پاک میکنه
به نظر خودم به خاطر اینه که داره به log اضافه می کنه اتفاقاتیو که می افته من به log احتیاجی ندارم قبلا تو همین سایت یه دستوری رو دیدم که بدون ذخیره سازی در log اطلاعات را پاک می کرد اگر کسی در موردش چیزی میدونه بگه ممنون میشم