अजीब चीज़ मिला। समझ में नहीं आता क्यों ओरेकल इस क्वेरी के लिए अनुमति देने और क्यों यह निष्पादन के बाद cnt
चर परिवर्तन नहीं करता है:ओरेकल। समझ में नहीं आता है कि कैसे subquery चयन के साथ काम करता है
declare cnt number;
begin
for r in (Select count(1) into cnt from v$session) loop
dbms_output.put_line(cnt);
END LOOP;
end;
Select count(1) from v$session
रिटर्न रिक्त नहीं मूल्य
मुझे समझ है:
- इस स्थिति में
FOR
की आवश्यकता नहीं है।Count
बिनाINTO
केवल एक पंक्ति को बरकरार रखता है। - कि मैं इसे
INTO
के बिना उपयोग कर सकता हूं और यह काम करेगा।
बस उत्सुक है कि यह उपरोक्त क्वेरी में कैसे और क्यों काम करता है।
यह क्योंकि सामान्य स्थिति में ओरेकल रिटर्न संकलन त्रुटि ORA-06550
declare cnt number;
begin
select count(1) from (Select count(1) into cnt from v$session)
end;
or
और पहली क्वेरी काम करता है, यही कारण है कि ओरेकल SELECT INTO
साथ सबक्वेरी अनुमति देते हैं अजीब बात है - क्यों यह cnt मूल्य सही ढंग से वापस नहीं करता है?
कृपया मेरे उत्तर पर एक नज़र डालें। आपको चुनिंदा कथन के लिए अपने कॉलम का नाम देना चाहिए। तालिका पंक्ति की तरह 'आर' संभाल लें। –