title: Cannot insert empty string in oracle table
body: <p>i am trying to insert data into one of my table.</p>
  
  <pre><code>insert into t_transaction_query_log
      (log_id,
       posting_id,
       fee_id,
       fee_status,
       fee_type,
       pay_mode,
       accounting_date,
       policy_id,
       money_id,
       finish_time,
       source_type,
       fee_amount,
       cr_seg,
       dr_seg,
       product_id' || v_insert_str_cr_seg ||
                    v_insert_str_dr_seg || ')       
      select s_transaction_query_log__lg_id.nextval,
             tg.je_posting_id,
             tg.fee_id,
             tg.fee_status,
             tg.fee_type,
             60,
             tg.accounting_date,
             tg.policy_id,
             tg.currency_id,
             trunc(sysdate,
                   ''dd''),
             2,
             tg.fee_amount,' ||v_str_cr_seg
                     || ',' || v_str_dr_seg || ',
             tg.product_id' || v_insert_str_cr_seg ||
                    v_insert_str_dr_seg || '
        from t_ri_fee_gl tg
       where tg.posted = ''Y''
  </code></pre>
  
  <p>i have declared v_str_cr_seg,v_str_dr_seg as empty strings i.e v_str_dr_seg varchar(50)='';</p>
  
  <p>before executing this query i am able to append some values to these two strings
  but in case there is no change in these strings from the declaration
  i am getting the computed query as </p>
  
  <pre><code> insert into t_transaction_query_log
      (log_id,
       posting_id,
       fee_id,
       fee_status,
       fee_type,
       pay_mode,
       accounting_date,
       policy_id,
       money_id,
       finish_time,
       source_type,
       fee_amount,
       cr_seg,
       dr_seg,
       product_id)       
      select s_transaction_query_log__lg_id.nextval,
             tg.je_posting_id,
             tg.fee_id,
             tg.fee_status,
             tg.fee_type,
             60,
             tg.accounting_date,
             tg.policy_id,
             tg.currency_id,
             trunc(sysdate,
                   'dd'),
             2,
             tg.fee_amount, , ,
             tg.product_id
        from t_ri_fee_gl tg
       where tg.posted = 'Y'
  </code></pre>
  
  <p>which in turn results in missing expression error.
  i have tried using nvl function as </p>
  
  <pre><code>nvl(v_str_cr_seg, '') and `nvl(v_str_cr_seg, null)`
  </code></pre>
  
  <p>but still i am getting the same error</p>
  
  <p>how can i insert even though v_str_cr_seg and v_str_dr_seg are unchanged
  i.e empty strings <code>''</code></p>