PL/SQL कर्सर- जब कभी किसी SQL वाक्य का लागूकरण होता है। एक अस्थायी work area मशीन Memory में बनता है। जिसे कर्सर कहा जाता है। आँकड़ों की पंक्तियों एवं सलेक्ट वाक्य से सम्बन्धित सूचनायें कर्सर में होती हैं।
उपयोग – यह अस्थायी कार्य क्षेत्र उन आँकड़ों को संग्रहित करता है जो डाटाबेस से ग्रहण किये जाते हैं। कर्सर एक से ज्यादा पंक्तियों पर नियंत्रण रख सकता है। परन्तु एक समय में एक पंक्ति का ही क्रियान्वन संभव है। वो सारी पंक्तियों का समूह जिस पर कर्सर का नियंत्रण होता है क्रियाशील समूह (active set) कहलाता है।
Explicit कर्सर – Explicit कर्सर का वर्णन ‘PL/SQL खण्ड के घोषणा भाग में दिया जाता है इसका निर्माण उस SELECT वाक्य के संदर्भ में किया जाता है जो परिणामस्वरूप एक से अधिक पंक्तियों को प्रदर्शित करता है कर्सर को इच्छानुसार उपयुक्त नाम दे सकते हैं।
कर्सर के निर्माण के लिए साधारण रचना-
CURSOR cursor_name IS select_statement;
- cursor_name – कर्सर का नाम
- select_statement – एक सलेक्ट query जो एक या एक से अधिक पंक्तियाँ प्रदर्शित करे।
Explicit कर्सर के उपयोग हेतु बिन्दु –
- घोषणा भाग में कर्सर को घोषित करें।
- Execution भाग में कर्सर को सक्रिय (OPEN) करें। .
- Execution भाग में PL/SQL वेरिएबल्स या तथ्यों में कर्सर से आँकड़ें लावें।
- PL/SQL खण्ड की समाप्ति से पहले कर्सर को निश्क्रिय (CLOSE) करें।
उदाहरण –
- SQL> set serveroutput on
- SQL> edit explicit_cursor
- DECLARE
- Cursor c is select * from emp_information
- Where emp_name = ‘Kamal’;
- tmp emp_information % rowtype;
- BEGIN
- OPENC;
- Loop exit when C% NOT FOUND;
- FETCHC into tmp;
- update emp_information set tmp..emp_dept = ‘webDeveloper’
- Where tmp. emp_name= ‘Sagar’;
- END Loop;
- IF C% ROWCOUNT >OTHEN
- dbms_output. put_line (SQL % ROWCOUNT || ‘Rows Updated’);
- ELSE .
- dbms output. put_line (‘No Rows Updated Found’);
- END IF;
- CLOSEC;
- END;
- /
Result :
SQL>@explicit_cursor
1 Rows updated