我在一个配置表中 加入了一列 fetch_sql 用于动态光标的,这列的内容是“ SELECT latn_id,sum(ofr_num) FROM tb_b_cw_auto_e6e8_dev WHERE month_id=#MONTH_NO# AND ofr_type_id=e6 AND urban_rural_id in(3,4,5) AND chrg_level=36 GROUP BY latn_id”当我取出这列的内容来查询的时候才发现我配置sql的时候ofr_type_id=e6 让我写错了
这个时候我想把 ofr_type_id=e6  换为ofr_type_id='e6',我用
 update tb_b_cw_auto_e6e8_prf_template 
set fetch_sql=replace(fetch_sql,'ofr_type_id=e6','ofr_type_id='e6'');来更新,oracle报错 ,请问这个应该怎么写

解决方案 »

  1.   


    update tb_b_cw_auto_e6e8_prf_template 
    set fetch_sql=replace(fetch_sql,'ofr_type_id=e6','ofr_type_id=''e6''')
      

  2.   

    搞定了 应该这么写 update tb_b_cw_auto_e6e8_prf_template 
    set fetch_sql=replace(fetch_sql,'ofr_type_id=e6','ofr_type_id='||'''e6''');楼上的你那么写对吗?你能不给我解释下oracle中的单引符是怎么用的,我那个写应该符合语法的啊,
    我刚才是这么写的
    update tb_b_cw_auto_e6e8_prf_template 
    set fetch_sql=replace(fetch_sql,'ofr_type_id=e6','ofr_type_id='||'''||'e6'||''');
    这么也报错呢?