欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

 1. 在like 之后若使用了表字段,應統(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. 視圖中使用的別名不應該與當前表字段同名

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

  否則會報"SQL20211N  規(guī)范 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)

 

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

相關(guān)文章

  • 解決Oracle圖形化安裝過程中出現(xiàn)的豎線問題

    解決Oracle圖形化安裝過程中出現(xiàn)的豎線問題

    這篇文章主要介紹了解決ORACLE圖形化安裝過程中出現(xiàn)的豎線問題,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08
  • Informatica bulk與normal模式的深入詳解

    Informatica bulk與normal模式的深入詳解

    本篇文章是對Informatica bulk與normal模式進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • Windows系統(tǒng)下Oracle?12c安裝保姆級圖文教程詳解

    Windows系統(tǒng)下Oracle?12c安裝保姆級圖文教程詳解

    這篇文章主要給大家介紹了關(guān)于Windows系統(tǒng)下Oracle?12c安裝保姆級圖文教程的相關(guān)資料,Oracle數(shù)據(jù)庫12c的安裝是一個復雜的過程,但通過正確的安裝前置條件的準備,精心的安裝過程確實可以讓Oracle?12c穩(wěn)定、高效地運行在各類操作系統(tǒng)中,需要的朋友可以參考下
    2023-09-09
  • oracle定時任務定時無效的原因分析與解決

    oracle定時任務定時無效的原因分析與解決

    發(fā)現(xiàn)系統(tǒng)數(shù)據(jù)沒有更新,查看oracle定時任務,估計沒有執(zhí)行,下面這篇文章主要給大家介紹了關(guān)于oracle定時任務定時無效的原因分析與解決方法,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • Oracle中的序列SEQUENCE詳解

    Oracle中的序列SEQUENCE詳解

    本文詳細講解了Oracle中的序列SEQUENCE,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • Oracle單行子查詢返回多行結(jié)果的問題解決

    Oracle單行子查詢返回多行結(jié)果的問題解決

    這篇文章主要給大家介紹了關(guān)于Oracle中單行子查詢返回多行結(jié)果的問題解決的相關(guān)資料,文中通過實例代碼介紹的非常詳細,對大家學習或者使用oracle具有一定的參考學習價值,需要的朋友可以參考下
    2023-07-07
  • Oracle 11g2的監(jiān)聽器配置教程

    Oracle 11g2的監(jiān)聽器配置教程

    Oracle的監(jiān)聽器服務注冊方式有兩種,分別為動態(tài)和靜態(tài),本文將詳細介紹這兩種,需要的朋友可以參考下
    2012-11-11
  • Oracle連接遠程數(shù)據(jù)庫的四種方法

    Oracle連接遠程數(shù)據(jù)庫的四種方法

    這篇文章主要為大家詳細介紹了Oracle連接遠程數(shù)據(jù)庫的四種設置方法和注意事項,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • oracle怎樣才能徹底卸載干凈

    oracle怎樣才能徹底卸載干凈

    Oracle安裝上之后,通過自帶的卸載工具一般都無法將程序卸載干凈,導致下次的程序安裝出錯,這篇文章主要給大家介紹了關(guān)于oracle怎樣才能徹底卸載干凈的相關(guān)資料,需要的朋友可以參考下
    2023-11-11
  • Oracle歸檔日志文件(查看、配置、刪除)

    Oracle歸檔日志文件(查看、配置、刪除)

    歸檔日志是非活動的重做日志備份.通過使用歸檔日志,可以保留所有重做歷史記錄,本文主要介紹了Oracle歸檔日志文件(查看、配置、刪除),具有一定的參考價值,感興趣的可以了解一下
    2023-12-12

最新評論