1. 程式人生 > >DB2儲存過程與oracle的區別for as loop在db2中的使用

DB2儲存過程與oracle的區別for as loop在db2中的使用

在oracle遷移DB2時,資料庫可能會成為一個令人頭大的問題,oracle就不說了,先來一個儲存過程

create  procedure AAA(in p_name varchar(50))

begin

declare v_name varchar(50);

declare v_id varchar(50);

declare v_age varchar(50);

set v_name '張三';

for c as (

    select userId,username,age from user_tab

) do

set v_name = c.username;

set v_id = userId;

set v_age = c.age;

end for;

end

1首先,定義儲存過程名稱之後,後面不跟is或者as,輸入引數in寫在前面,varchar2改成varchar

2宣告變數是在begin之後,需加declare,賦值需要set xxx = ‘’;在oracle中沒有set,並且oracle是使用:=來賦值

3在oracle中可以使用for in loop,在DB2中是使用for as do end for來代替

4最後end後面不跟儲存過程名稱,也沒有‘;’