日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Oracle與DB2存儲過程不同之處的表現(xiàn)

文章主要描述的是Oracle數(shù)據(jù)庫與DB2存儲過程的不同之處,假如你對Oracle數(shù)據(jù)庫與DB2存儲過程的不同之處差異心存好奇的話,你就可以對以下的文章點擊觀看了,以下就是文章的詳細內(nèi)容介紹,望大家借鑒。

成都創(chuàng)新互聯(lián)公司公司2013年成立,先為江海等服務(wù)建站,江海等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為江海企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

Oracle與DB2存儲過程的差異

(1)2010-03-01 08:04存儲過程本質(zhì)還是由SQL語句實現(xiàn)的,只不過可以添加邏輯性過程。

Oracle的存儲過程只了解其語法,最近在學DB2存儲過程。總覺得單獨去看它的語法什么的,沒什么效果。就拿一份項目中Oracle存儲過程文件對照著看,試著將其改成db2的。發(fā)現(xiàn)了幾點區(qū)別:

 
 
 
 
  1. Create or replace procedure proname(var_in in number,var_out out number)
  2. As
  3. Var1 varchar2(18);
  4. Var2 user.name%TYPE;
  5. Begin
  6. Var_out := 0;
  7. Execute immediate ‘truncate table user’;
  8. End
  9. create procedure proname(in var_in int,out var_out int)
  10. Declare var1 varchar(18);
  11. Begin
  12. Set var_out=0;
  13. End

(1) DB2中不支持”or replace”的語法;且參數(shù)名與IN/OUT的位置也需互換,聲明變量時須使用declare關(guān)鍵字,為變量賦值時須使用set關(guān)鍵字。

(2) 而對于Oracle中的%TYPE的功能,DB2中好像還沒有很好的實現(xiàn)方式。

(3) 同樣,Oracle中清空表的命令truncate,DB2也不能原樣引用,但它也提供了2種實現(xiàn)方式,一是將一空文件的內(nèi)容導入表中import null.dat ;二是設(shè)置表的特性為不記錄日志alter table tablename .但是第二種方式會在某些情況下導致原表無法使用,具體的還沒弄清楚呢。

(4) 至于sql語句表現(xiàn)不同應該就是Oracle與db2各自的語法了。比如說Oracle的rownum,db2可以使用fetch first n only,或row_number() over()等。

當然,調(diào)用存儲過程的方法是一樣的,call proname(2,?),輸出參數(shù)用?來代替。

對于上面的第2點要想個好的解決方法,這種功能在DB2存儲過程中用的還是蠻多的。

以上的相關(guān)內(nèi)容就是對Oracle與DB2存儲過程的差異的介紹,望你能有所收獲。


名稱欄目:Oracle與DB2存儲過程不同之處的表現(xiàn)
網(wǎng)站網(wǎng)址:http://www.5511xx.com/article/coipggc.html