最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

oralce和db2兼容開發(fā)注意事項(xiàng)

 更新時(shí)間:2016年11月01日 11:52:35   投稿:lqh  
這篇文章主要介紹了oralce和db2兼容開發(fā)注意事項(xiàng)的相關(guān)資料,這里整理了幾個(gè)重要問題及如何解決,需要的朋友可以參考下

數(shù)據(jù)庫兼容,在開發(fā)項(xiàng)目過程中,難免會(huì)遇到 更改數(shù)據(jù)庫,或者后期 項(xiàng)目升級(jí),也可能會(huì)遇到這種情況,這里就說明下oralce和db2兼容開發(fā)注意事項(xiàng)。

兼容oralce、db2開發(fā)注意事項(xiàng)(前提是db2版本是9.7,且是開啟PLSQL編譯選項(xiàng)之后創(chuàng)建的數(shù)據(jù)庫):

 1. 在like 之后若使用了表字段,應(yīng)統(tǒng)一改成使用locate函數(shù)

   如:
  oralce寫法:
   select * from fw_right a where '03' like a.rightid||'%';
  兼容寫法:
   select * from fw_right a where locate('03',a.rightid) = 1;
  oralce寫法:
   select * from fw_right a where '03' like '%'||a.rightid||'%';
  兼容寫法:
   select * from fw_right a where locate('03',a.rightid) > 0;

 2. 視圖中使用的別名不應(yīng)該與當(dāng)前表字段同名

    如以下語句,在Oracle中不會(huì)有問題,但在db2中會(huì)報(bào)"SQL0153N"錯(cuò)誤:

 e.g: 
  CREATE OR REPLACE VIEW V_WF_TODOLIST AS
     select c.process_def_id, c.process_def_name, a.action_def_id,
       a.work_item_id,  a.bae007,      a.action_def_name,
       a.state,     a.pre_wi_id,    a.work_type,
       a.operid,     a.x_oprator_ids,  b.process_key_info,
       to_char(to_date(a.start_time,  'yyyymmddhh24miss'),'yyyy-mm-dd hh24:mi:ss') as start_time,
       to_char(to_date(a.complete_time,'yyyymmddhh24miss'),'yyyy-mm-dd hh24:mi:ss') as complete_time,
       a.filter_opr, a.memo,a.bae002,a.bae003, a.bae006,c.x_action_def_ids
 from wf_work_item a, wf_process_instance b, wf_action_def c
  where a.action_def_id = c.action_def_id
  and b.process_def_id = c.process_def_id
  and a.bae007 = b.bae007
  and a.state in('0','2')

        兼容寫法:

CREATE OR REPLACE VIEW V_WF_TODOLIST AS
  select c.process_def_id, c.process_def_name, a.action_def_id,
   a.work_item_id,  a.bae007,      a.action_def_name,
   a.state,     a.pre_wi_id,    a.work_type,
   a.operid,     a.x_oprator_ids,  b.process_key_info,
   to_char(to_date(a.start_time,  'yyyymmddhh24miss'),'yyyy-mm-dd hh24:mi:ss') as start_time_0,
   to_char(to_date(a.complete_time,'yyyymmddhh24miss'),'yyyy-mm-dd hh24:mi:ss') as complete_time_0,
   a.filter_opr, a.memo,a.bae002,a.bae003, a.bae006,c.x_action_def_ids
   from wf_work_item a, wf_process_instance b, wf_action_def c
   where a.action_def_id = c.action_def_id
   and b.process_def_id = c.process_def_id
   and a.bae007 = b.bae007
   and a.state in('0','2')
   

   3.在下列情況下不允許 ORDER BY 或 FETCH FIRST n ROWS ONLY: 

*  外層全查詢視圖
  *  "SQL 表函數(shù)"的 RETURN 語句中的外層全查詢
  *  具體化查詢表定義
  *  未用圓括號(hào)括起來的子查詢

  否則會(huì)報(bào)"SQL20211N  規(guī)范 ORDER BY 或 FETCH FIRST n ROWS ONLY 無效。"錯(cuò)誤.  

  e.g:
  oralce寫法:

  CREATE OR REPLACE VIEW V_FW_BLANK_BULLETIN as
  select id,   bae001, operunitid, operunittype, unitsubtype, ifergency,
    title, content, digest,  duetime,   validto,   aae100,
    bae006, bae002, bae003,  id as colid,
    substr(digest,1,20) as digest2
   from fw_bulletin
  where duetime <= to_char(sysdate,'yyyymmddhh24miss')
   and (to_char(validto) >= to_char(sysdate,'yyyymmddhh24miss') or validto is null)
   and aae100 ='1'
  order by ifergency desc, id desc, duetime desc

      兼容寫法:

  CREATE OR REPLACE VIEW V_FW_BLANK_BULLETIN as
  select * from (select id,   bae001, operunitid, operunittype, unitsubtype, ifergency,
   title, content, digest,  duetime,   validto,   aae100,
   bae006, bae002, bae003,  id as colid,
   substr(digest,1,20) as digest2
  from fw_bulletin
  where duetime <= to_char(sysdate,'yyyymmddhh24miss')
  and (to_char(validto) >= to_char(sysdate,'yyyymmddhh24miss') or validto is null)
  and aae100 ='1'
  order by ifergency desc, id desc, duetime desc)

 

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

最新評(píng)論

渝中区| 宣城市| 南和县| 通城县| 玉田县| 隆林| 绥芬河市| 健康| 通州市| 桓台县| 休宁县| 密山市| 托克托县| 平陆县| 韩城市| 佛坪县| 增城市| 德保县| 丰镇市| 富源县| 集贤县| 多伦县| 青神县| 德安县| 岳普湖县| 永宁县| 新竹县| 乌兰县| 鄂托克前旗| 五河县| 自治县| 双城市| 玉屏| 建宁县| 乐山市| 富川| 虹口区| 遂平县| 航空| 兴化市| 延津县|