Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

टी-एसक्यूएल सबक्वेरी विकृत होने पर तालिका से सभी पंक्तियों को हटा देता है

TableAID . के रूप में TableA . में मौजूद नहीं है , क्वेरी TableB . से कॉलम का उपयोग कर रही है . इसलिए क्वेरी समान है:

delete from TableB
where id in (
  select TableB.TableAID
  from TableA
  where GUID = 'fdjkhflafdhf'
)

तो संक्षेप में यह कर रहा है:

delete from TableB
where id in (TableAID)

यदि आप संदर्भ के दौरान अपने तालिका नामों का उल्लेख करने के लिए उप-प्रश्नों का उपयोग कर रहे हैं। निम्नलिखित होगा एक अपवाद फेंकें:

 delete from TableB
    where id in (
      select TableA.TableAID
      from TableA
      where TableA.GUID = 'fdjkhflafdhf'
    )

इसके अलावा मैं एक उपनाम का उपयोग करूंगा ताकि हम जान सकें कि हम किस क्वेरी का जिक्र कर रहे हैं:

 delete from TableB
    where id in (
      select a.TableAID
      from TableA a
      where a.GUID = 'fdjkhflafdhf'
    )



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. pyodbc:क्षणिक त्रुटियों से पुनर्प्राप्त करने के लिए पुन:प्रयास कैसे करें?

  2. क्रिस्टल रिपोर्ट के डेटा प्रदाता को अद्यतन करना

  3. क्यों संग्रहित प्रक्रिया क्वेरी से तेज है

  4. SQL सर्वर में रखरखाव योजनाएँ बनाना

  5. अपने SQL सर्वर संस्करण की जाँच कैसे करें