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

ऑरेकल एसक्यूएल डेवलपर को कॉल करने में बाधा की जांच करें

नहीं, आप ऐसा नहीं कर सकते, चेक बाधाओं पर प्रतिबंध देखें:

  • उपयोगकर्ता द्वारा परिभाषित कार्यों के लिए कॉल

लेकिन आप वर्चुअल कॉलम का उपयोग करके समाधान कर सकते हैं

ALTER TABLE tbl_AccountAuthentications ADD (fnCheck NUMBER GENERATED ALWAYS AS (fnCheckValid(accountid_fk)) VIRTUAL);


ALTER TABLE tbl_AccountAuthentications
ADD CONSTRAINT chkCheckvalid CHECK(fnCheck <= 1);

ध्यान दें, फ़ंक्शन को नियतात्मक होना चाहिए, अन्यथा यह काम नहीं करता है। ओरेकल यह सत्यापित नहीं करता है कि आपका फ़ंक्शन वास्तव में नियतात्मक है या नहीं, यह केवल कीवर्ड की जांच करता है। इसकी अनुमति है (हालांकि इसका कोई मतलब नहीं है):

CREATE OR REPLACE FUNCTION DET_FUNCTION RETURN NUMBER DETERMINISTIC IS 
BEGIN 
    RETURN DBMS_RANDOM.RANDOM();
END;
/


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ओरेकल में विश्लेषणात्मक कार्यों का उपयोग कैसे करें (कीवर्ड द्वारा विभाजन पर)

  2. Oracle में पैकेज के अंदर एक प्रक्रिया कैसे निष्पादित करें?

  3. हाइबरनेट का उपयोग करके पदानुक्रमित परिणाम प्राप्त करने के लिए डेटाबेस क्वेरी पर रिकर्सन - जावा

  4. कर्मचारी विवरण मुद्रित करने के लिए पीएल/एसक्यूएल कार्यक्रम

  5. Oracle क्लाउड इंफ्रास्ट्रक्चर पर कंपार्टमेंट के बारे में जानने योग्य 7 बातें