oracle 流程控制

2021-08-29 15:17:04 字數 1779 閱讀 6335

if/else

運費計算,同乙個省份則只收取基價。 根據是不是同乙個省返回距離,同乙個省份則返回零。

declare

mycityname varchar2(20) := '長沙市';

tocityname varchar2(20) := '唐山市';

dis        number;

cnt        number;

begin

select count(*)

into cnt

from s_city

where cityname = tocityname

and provinceid =

(select provinceid from s_city where cityname = mycityname);

if (cnt > 0) then

--  select 0 from dual;

select 0 into dis from dual;

else

-- dbms_output.put_line(select getdisbycityname from dual);

select getdisbycityname(mycityname, tocityname) into dis from dual;

end if;

dbms_output.put_line(dis);

end;

迴圈

計算運費的規格:通過設定一組路程的分割線,來分段計價。

比如可以把一萬公里分成 10段,沒一段收取特定的**。要提**格的話,可以分更多的段數。

create table send_scope

(send_scopeid number,

val number

);建立乙個序列

create sequence seq_send_scope

increment by 1  

start with 1   

nomaxvalue     

nocycle cache 10;  --cache 10 個在記憶體中。

200公里為一段,分14段。

begin

declare

num number := 200;

begin

for n in 1 .. 15 loop

select num + 200 into num from dual;

insert into send_scope values (seq_send_scope.nextval, num);

end loop;

end;

end;

select * from send_scope;

---另外兩個迴圈的示例

declare

num number := 0;

begin

<>

loop

dbms_output.put_line(num);

exit myloop when(  num > 10);

num := num + 1;

end loop;

end;

declare

num number := 10;

begin

while(num>0)loop

num:= num-1;

dbms_output.put_line(num);

end loop;

end;

ORACLE 流程控制語句

一 選擇語句 1 if.then 語句 示例 if temp1.order type normal asn then insert into baan.twhinh905201 erp t sorn,t spon,t orno,t pono,t qrcr,t cwar,t item,t stat,t...

一 Oracle流程控制

6.1 loop loop end loop 6.2 exit語句必須放在迴圈內,return語句可以在正常到達程式結尾之前而終止執行loop if.then exit end exit end loop 6.3exit whenloop fetch c1 就是把游標的值取出來,放到指定變數中 in...

mysql流程控制 MySQL 流程控制

流程控制 1 順序結構 程式從上往下依次執行 2 分支結構 多條路徑選擇一條 3 迴圈結構 在規定範圍內重複執行 一 分支結構 1 if函式 功能 實現分支流 語法 if 表示式1,表示式2,表示式3 執行順序 執行表示式1,成立返回表示式2的值,不成立則返回表示式3的值 應用 任何地方 例 if ...