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

Oracle:ऑब्जेक्ट प्रकार कॉलम के लिए डिफ़ॉल्ट मान निर्दिष्ट करना

ऐसा लगता है कि यह संभव नहीं है।

ट्रिगर का उपयोग करना एक समाधान होगा:

CREATE OR REPLACE TRIGGER test_trigger
  BEFORE INSERT OR UPDATE
ON test_table
  FOR EACH ROW
WHEN ( new.test_attr IS NULL )
BEGIN
  :new.test_attr := NEW test_t();
END test_trigger;
/

यह डिफ़ॉल्ट कंस्ट्रक्टर को ओवरराइड करते हुए, गैर-डिफ़ॉल्ट कंस्ट्रक्टरों को पूरी तरह से अनदेखा नहीं करता है

CONSTRUCTOR FUNCTION test_t(in_val NUMBER)
RETURN SELF AS RESULT

DEFAULT NEW test_t(1) . के साथ तालिका को परिभाषित करने का प्रयास करते समय एक अपवाद की ओर जाता है :




  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. Oracle में इसे बनाने से पहले चेक टेबल मौजूद है या नहीं

  3. एसक्यूएल प्लस ट्रिगर संकलन त्रुटियां

  4. कॉलम के लिए कैरेक्टर सेट को परिभाषित करना ऑरैकल डेटाबेस टेबल के लिए

  5. आउटपुट जिसमें स्वर के रूप में पहला और आखिरी अक्षर है (ए, ई, आई, ओ, यू)