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

एक लेन-देन के संदर्भ में Oracle संग्रहीत कार्यविधियों / कार्यों के शब्दार्थ

आप RESTRICT_REFERENCES का उपयोग कर सकते हैं यह इंगित करने के लिए कि कोई फ़ंक्शन पैकेज या डेटाबेस स्थिति को पढ़/लिख नहीं पाएगा।

CREATE PACKAGE t_pkg AS
   FUNCTION showup (msg VARCHAR2) RETURN VARCHAR2;
   PRAGMA RESTRICT_REFERENCES(showup, WNDS, RNDS);
END t_pkg;
/
-- create the package body
CREATE OR REPLACE PACKAGE BODY t_pkg AS
   FUNCTION showup (msg VARCHAR2) RETURN VARCHAR2 IS
    v_val varchar2(1);
   BEGIN
      select dummy into v_val from dual;
      RETURN v_val;
   END;
END t_pkg;
/

ऐसा हुआ करता था कि SQL आपको तब तक किसी फ़ंक्शन को कॉल करने की अनुमति नहीं देता जब तक कि उसने ऐसा कोई वादा नहीं किया, लेकिन वह प्रतिबंध हटा दिया गया।

मैं इसे एक प्रक्रिया और एक समारोह के बीच एक विभेदक बनाना पसंद करूंगा। यह ध्यान में रखने योग्य है कि यदि कोई PL/SQL फ़ंक्शन NO_DATA_FOUND अपवाद उठाता है, तो कॉलिंग SQL कथन विफल नहीं होता है (क्योंकि कोई डेटा नहीं मिला है, SQL त्रुटि नहीं है)। इसलिए मैं प्रक्रियाओं का उपयोग करना पसंद करता हूं जब तक कि ऑब्जेक्ट को विशेष रूप से 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. जावा कोड के माध्यम से Oracle sql स्क्रिप्ट को कैसे निष्पादित करें

  2. PL/SQL और SQL में VARCHAR2 का अधिकतम आकार क्या है?

  3. SQL में पंक्तियों के रूप में प्रत्येक मान को n बार दोहराएं

  4. संचयी विश्लेषणात्मक कार्यों का उपयोग करके किसी क्वेरी में शून्य-मान रिकॉर्ड जोड़ना

  5. डेटाबेस के सभी तालिकाओं में खोज मूल्य