婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > oralce和db2兼容開發注意事項

oralce和db2兼容開發注意事項

熱門標簽:慧營銷crm外呼系統丹丹 百度地圖標注途經點 哈爾濱電話機器人銷售招聘 地圖標注養老院 圖吧網站地圖標注 愛客外呼系統怎么樣 哪個400外呼系統好 山東crm外呼系統軟件 開發外呼系統

數據庫兼容,在開發項目過程中,難免會遇到 更改數據庫,或者后期 項目升級,也可能會遇到這種情況,這里就說明下oralce和db2兼容開發注意事項。

兼容oralce、db2開發注意事項(前提是db2版本是9.7,且是開啟PLSQL編譯選項之后創建的數據庫):

 1. 在like 之后若使用了表字段,應統一改成使用locate函數

   如:
  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. 視圖中使用的別名不應該與當前表字段同名

    如以下語句,在Oracle中不會有問題,但在db2中會報"SQL0153N"錯誤:

 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 表函數"的 RETURN 語句中的外層全查詢
  *  具體化查詢表定義
  *  未用圓括號括起來的子查詢

  否則會報"SQL20211N  規范 ORDER BY 或 FETCH FIRST n ROWS ONLY 無效。"錯誤.  

  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)

 

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

您可能感興趣的文章:
  • Oralce中VARCHAR2()與NVARCHAR2()的區別介紹
  • Oralce 歸檔日志開啟與關閉示例
  • 提取oralce當天的alert log的shell腳本代碼
  • oralce 計算時間差的實現

標簽:和田 青島 武漢 承德 周口 固原 甘肅 開封

巨人網絡通訊聲明:本文標題《oralce和db2兼容開發注意事項》,本文關鍵詞  oralce,和,db2,兼容,開發,注意事項,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《oralce和db2兼容開發注意事項》相關的同類信息!
  • 本頁收集關于oralce和db2兼容開發注意事項的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 安龙县| 鄂托克前旗| 岗巴县| 双鸭山市| 巴青县| 青冈县| 武穴市| 吴堡县| 新乐市| 西吉县| 五华县| 德昌县| 丁青县| 台北县| 兴仁县| 五河县| 瑞昌市| 稻城县| 昌宁县| 丽江市| 兴义市| 科技| 鞍山市| 鲁甸县| 宣汉县| 高清| 仁布县| 南昌市| 交口县| 阿拉善右旗| 蓝山县| 枣强县| 广州市| 威远县| 三亚市| 黑水县| 博白县| 阿荣旗| 阿勒泰市| 青田县| 姜堰市|