از جدول Employees تمام رکوردهایی که مقدار ستون status برابر 'inactive' است حذف کن.

1.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 01:51

0.0

برای حل این سوال از دستور SQL DELETE استفاده کنید: ابتدا با یک SELECT شرط را تست کنید (مثلاً SELECT * FROM Employees WHERE status = 'inactive') تا مطمئن شوید رکوردهای درست را هدف گرفته‌اید، سپس DELETE FROM Employees WHERE status = 'inactive' اجرا کنید. در صورتی که پایگاه‌داده از تراکنش پشتیبانی می‌کند (مثلاً PostgreSQL یا MySQL با InnoDB) بهتر است دستور را در یک تراکنش اجرا کنید تا در صورت اشتباه بتوانید ROLLBACK کنید؛ همچنین در نظر بگیرید که محدودیت‌های کلید خارجی یا گزینه‌های CASCADE ممکن است روی حذف تأثیر بگذارند و در PostgreSQL می‌توانید از RETURNING برای مشاهده سطرهای حذف‌شده استفاده کنید.

توسط پژوهشگر در 220 روز قبل ساعت 01:51
دسته بندی ها: SQL SQL for beginner
nima در 220 روز قبل ساعت 11:46

برای حذف رکوردهای موردنظر ابتدا با SELECT * FROM Employees WHERE status = 'inactive' بررسی کنید تا دقیقا رکوردهای هدف را بیابید. سپس از DELETE FROM Employees WHERE status = 'inactive' استفاده کنید و اگر BD از تراکنش پشتیبانی می‌کند، حتما آن را داخل تراکنش قرار دهید تا در صورت اشتباه بتوانید ROLLBACK کنید. نکته: محدودیت‌های کلید خارجی یا گزینه‌های CASCADE ممکن است موجب حذف یا جلوگیری از حذف شوند؛ اگر PostgreSQL استفاده می‌کنید، RETURNING را می‌توان برای دیدن سطرهای حذف‌شده بکار برد. همچنین به احتیاط با کارهای هم‌زمان بودن و اجرای هم‌زمان آنها فکر کنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری