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

एसक्यूएल कॉलम नाम पीएल/एसक्यूएल वैरिएबल नाम के समान है - यह एक चुनिंदा कथन में कैसे किया जा सकता है?

यदि आप "चर नामों को बदलने की आवश्यकता के बिना" की अपनी परिभाषा के प्रति पर्याप्त उदार हैं, तो आप कर सकते हैं . शानदार पीएल/एसक्यूएल नाम संकल्प पढ़ना कहता है:

<ब्लॉककोट>

यदि किसी नामित पीएल/एसक्यूएल इकाई में एक पहचानकर्ता घोषित किया गया है, तो आप इस सिंटैक्स का उपयोग करके इकाई के नाम (ब्लॉक, उपप्रोग्राम, या पैकेज) के साथ इसके साधारण नाम (इसकी घोषणा में नाम) को अर्हता प्राप्त कर सकते हैं:

unit_name.simple_identifier_name

निम्न उदाहरण 20 प्रिंट करेगा उम्मीद के मुताबिक:

create table foo (a number, b number);

insert into foo values(1, 10);
insert into foo values(2, 20);
insert into foo values(3, 30);

begin
  <<bar>>
  declare
    a number;
    b number;
  begin
    a := 2;
    select b into bar.b from foo where a = bar.a;
    dbms_output.put_line(b);
  end;
end;
/

परिवर्तनीय नाम नहीं बदले जाते हैं। इसके बजाय वे हम्म हैं ... अधिक योग्य :)

ध्यान दें कि निम्नलिखित काम नहीं करता है:

begin
  declare
    a number;
    b number;
  begin
    a := 2;
    select foo.b into b from foo where foo.a = a;
    dbms_output.put_line(b);
  end;
end;
/

गैर-योग्य a . के रूप में select . में -स्टेटमेंट को प्राथमिकता नियमों के कारण एक कॉलम के रूप में व्याख्यायित किया जाता है:

<ब्लॉककोट>

यदि SQL कथन किसी ऐसे नाम का संदर्भ देता है जो स्तंभ और स्थानीय चर या औपचारिक पैरामीटर दोनों से संबंधित है, तो स्तंभ नाम को प्राथमिकता दी जाती है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ADDM टास्क कैसे बनाएं और उसकी रिपोर्ट कैसे चेक करें

  2. SQLAlchemy के साथ Oracle सेवा नामों का उपयोग करना

  3. क्या आप Oracle के साथ Microsoft Entity Framework का उपयोग कर सकते हैं?

  4. ओरेकल में स्लीप फंक्शन

  5. एक स्ट्रिंग में एक वर्ण की सभी घटनाओं को खोजने के लिए Oracle क्वेरी