शुरू करेंमुफ़्त में शुरू करें

सिर्फ कुछ rows में phantom reads रोकें

आपको अपने बैंक ग्राहकों के कुछ डेटा का विश्लेषण करना है, जिनका customer_id 1 से 10 के बीच है। आप सिर्फ customers टेबल की वे rows लॉक करना चाहते हैं जिनका customer_id 1 से 10 के बीच है। ऐसा करने से आप सुनिश्चित करेंगे कि कोई भी इन rows को बदल नहीं सके, और बाकी टेबल पर अन्य transactions सामान्य रूप से काम कर सकें।

आपको customers को select करना है और कुछ गणितीय operations दोबारा चलाने हैं। (इस अभ्यास में हम इन operations पर ध्यान नहीं देंगे।) उसके बाद, आप फिर से customer_id 1 से 10 के बीच वाले customers को select करना चाहेंगे ताकि यह पक्का हो सके कि कुछ बदला नहीं है।

आप script कैसे तैयार करेंगे?

यह अभ्यास पाठ्यक्रम का हिस्सा है

SQL Server में Transactions और Error Handling

पाठ्यक्रम देखें

अभ्यास निर्देश

  • Phantom reads रोकने के लिए उपयुक्त isolation level सेट करें।
  • एक transaction शुरू करें।
  • उन customers को select करें जिन्हें आप लॉक करना चाहते हैं।
  • Transaction को commit करें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

-- Set the appropriate isolation level
___ ___ ___ ___ ___

-- Begin a transaction
___ ___

-- Select customer_id between 1 and 10
SELECT * 
FROM customers
___ customer_id ___ ___ AND ___;

-- After completing some mathematical operation, select customer_id between 1 and 10
SELECT * 
FROM customers
___ customer_id ___ ___ AND ___;

-- Commit the transaction
___ ___
कोड संपादित करें और चलाएँ