खोज…


पीएल / एसक्यूएल में असाइनमेंट मॉडल

सभी प्रोग्रामिंग लैंग्वेज हमें वैरिएबल को मान असाइन करने की अनुमति देती हैं। आमतौर पर, एक मान चर को सौंपा जाता है, बाईं ओर खड़ा होता है। किसी भी समकालीन प्रोग्रामिंग भाषा में समग्र असाइनमेंट संचालन का प्रोटोटाइप इस तरह दिखता है:

left_operand assignment_operand right_operand instructions_of_stop

यह बाएं ऑपरेंड पर दाएं ऑपरेंड को असाइन करेगा। पीएल / एसक्यूएल में यह ऑपरेशन इस तरह दिखता है:

left_operand := right_operand;

बाएं ऑपरेंड हमेशा एक चर होना चाहिए । सही ऑपरेंड का मान, परिवर्तनशील या कार्य हो सकता है:

set serveroutput on
declare
  v_hello1 varchar2(32767);
  v_hello2 varchar2(32767);
  v_hello3 varchar2(32767);
  function hello return varchar2 is begin return 'Hello from a function!'; end;
begin
   -- from a value (string literal)
  v_hello1 := 'Hello from a value!';
   -- from variable
  v_hello2 := v_hello1;
  -- from function
  v_hello3 := hello; 

  dbms_output.put_line(v_hello1);
  dbms_output.put_line(v_hello2);
  dbms_output.put_line(v_hello3);
end;
/

जब SQL * में कोड ब्लॉक निष्पादित किया जाता है, तो निम्न आउटपुट कंसोल में मुद्रित होता है:

Hello from a value!
Hello from a value!
Hello from a function!

पीएल / एसक्यूएल में एक विशेषता है जो हमें "दाएं से बाएं" असाइन करने की अनुमति देती है। SELECT INTO स्टेटमेंट में करना संभव है। इस इंस्ट्रक्शन का प्रोटोटाइप आपको नीचे मिलेगा:

SELECT [ literal | column_value ]

INTO local_variable

FROM [ table_name | aliastable_name ]

WHERE comparison_instructions;

यह कोड एक स्थानीय चर के लिए वर्ण शाब्दिक निर्दिष्ट करेगा:

set serveroutput on
declare
  v_hello varchar2(32767);
begin
  select 'Hello world!'
  into v_hello
  from dual;

  dbms_output.put_line(v_hello);
end;
/

जब SQL * में कोड ब्लॉक निष्पादित किया जाता है, तो निम्न आउटपुट कंसोल में मुद्रित होता है:

Hello world!

असाइनमेंट "दाईं से बाईं ओर" एक मानक नहीं है , लेकिन यह प्रोग्रामर और उपयोगकर्ताओं के लिए मूल्यवान सुविधा है। आम तौर पर इसका उपयोग तब किया जाता है जब प्रोग्रामर PL / SQL में कर्सर का उपयोग कर रहा है - इस तकनीक का उपयोग तब किया जाता है, जब हम SQL कर्सर से कर्सर की एक पंक्ति में एक एकल स्केलर मान या स्तंभों का सेट लौटना चाहते हैं।

आगे की पढाई:



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow