av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

談一談兼容Oracle和DB2開發(fā)時(shí)的注意事項(xiàng)

我們?cè)谧黾嫒?strong>oralce、db2開發(fā)時(shí),需要注意一些問題,以免遇到不兼容的現(xiàn)象,為開發(fā)者帶來麻煩。本例子的前提是db2版本是9.7,且是開啟PLSQL編譯選項(xiàng)之后創(chuàng)建的數(shù)據(jù)庫。接下來我們就開始介紹這些。

目前成都創(chuàng)新互聯(lián)已為上千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、成都網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、常寧網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

注意事項(xiàng):

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

oralce寫法:

 
 
 
  1. select * from fw_right a where '03' like a.rightid||'%';

兼容寫法:

 
 
 
  1. select * from fw_right a where locate('03',a.rightid) = 1;

oralce寫法:

 
 
 
  1. select * from fw_right a where '03' like '%'||a.rightid||'%';

兼容寫法:

 
 
 
  1. select * from fw_right a where locate('03',a.rightid) > 0;

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

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

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

兼容寫法:

 
 
 
  1. CREATE OR REPLACE VIEW V_WF_TODOLIST AS
  2. select c.process_def_id, c.process_def_name, a.action_def_id,
  3. a.work_item_id, a.bae007, a.action_def_name,
  4. a.state,  a.pre_wi_id,  a.work_type,
  5. a.operid, a.x_oprator_ids,  b.process_key_info,
  6. to_char(to_date(a.start_time, 'yyyymmddhh24miss'),'yyyy-mm-dd hh24:mi:ss') as start_time_0,
  7. to_char(to_date(a.complete_time,'yyyymmddhh24miss'),'yyyy-mm-dd hh24:mi:ss') as complete_time_0,
  8. a.filter_opr, a.memo,a.bae002,a.bae003, a.bae006,c.x_action_def_ids
  9. from wf_work_item a, wf_process_instance b, wf_action_def c
  10. where a.action_def_id  = c.action_def_id
  11. and b.process_def_id = c.process_def_id
  12. and a.bae007 = b.bae007
  13. 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ò)誤。

oralce寫法:

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

兼容寫法:

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

了解了以上Oracle、DB2開發(fā)時(shí)的注意事項(xiàng),我們?cè)谧鲩_發(fā)的時(shí)候就能夠盡量避免一些不兼容得狀況了。本文就介紹到這里,希望能對(duì)各位有所幫助。


分享標(biāo)題:談一談兼容Oracle和DB2開發(fā)時(shí)的注意事項(xiàng)
本文來源:http://uogjgqi.cn/article/cdiodip.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流