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

Oracle एपेक्स में कॉलम के लिए डिफ़ॉल्ट मान के रूप में v('APP_USER') का उपयोग करें

V('APP_USER') के अलावा और भी विकल्प हैं। एपेक्स 5 के बाद से, APP_USER sys_context में संग्रहीत है और यह V() फ़ंक्शन की तुलना में बहुत अधिक प्रदर्शन करने वाला है। यह SYS_CONTEXT('APEX$SESSION','APP_USER') के रूप में उपलब्ध है ।

यह तालिकाओं के लिए डिफ़ॉल्ट मान के रूप में भी कार्य करता है:

create table test_table
(col_1 VARCHAR2(100) DEFAULT SYS_CONTEXT('APEX$SESSION','APP_USER'));

Table TEST_TABLE created.

कहा जा रहा है, ऑडिट कॉलम के लिए सबसे अच्छा अभ्यास एक ट्रिगर है जो 4 ऑडिट कॉलम को पॉप्युलेट करता है (जैसा कि @Littlefoot ने सुझाया है)। Quicksql पर एक नज़र डालें (एसक्यूएल वर्कशॉप> यूटिलिटीज के तहत या livesql.oracle.com पर)। यदि आप "ऑडिट कॉलम शामिल करें" और "एपेक्स इनेबल्ड" सेट करते हैं, तो आप इसे अपने लिए ट्रिगर जेनरेट कर सकते हैं। ऐसे उत्पन्न ट्रिगर का एक उदाहरण है:

प्रत्येक पंक्ति के लिए कर्मचारियों पर डालने या अपडेट करने से पहले
create or replace trigger employees_biu
    before insert or update 
    on employees
    for each row
begin
    if inserting then
        :new.created := sysdate;
        :new.created_by := nvl(sys_context('APEX$SESSION','APP_USER'),user);
    end if;
    :new.updated := sysdate;
    :new.updated_by := nvl(sys_context('APEX$SESSION','APP_USER'),user);
end employees_biu;
/


  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 में सभी उच्चारण वर्णों के लिए regexp

  2. Oracle में GUID कैसे उत्पन्न करें?

  3. ऑटो जनरेटिंग रिस्पांस फाइल

  4. Oracle में REGEXP_REPLACE () फ़ंक्शन

  5. Weblogic 10.3.6 . के लिए Java Persistence 2.0 को कैसे इनेबल करें