資料庫Oracle與Mysql語法對比 分支結構

2021-07-24 12:55:08 字數 3162 閱讀 3755

分支結構是最基本的程式結構,分支結構由 if 語句實現。 使用 if 語句,根據條件可以改變程式的邏輯流程。if 語句有如下的形式:

if 條件 1 then

語句序列 1;

[elsif 條件 2 then

語句序列 2;

else

語句序列 n;]

end if;

其中:

條件部分是乙個邏輯表示式,值只能是真(true)、假(false)或空(null)。

語句序列為多條可執行的語句。 根據具體情況,分支結構可以有以下幾種形式:

if-then-end if

if-then-else-end if

if-then-elsif-else-end if

這是最簡單的 if 結構,練習如下:

【訓練 1】 如果溫度大於 30℃,則顯示「溫度偏高」。

set serveroutput on

declare

v_temprature number(5):=32;

v_result boolean:=false;

begin

v_result:= v_temprature >30;

if v_result then

dbms_output.put_line('溫度'|| v_temprature ||'度,偏高');

endif;end;

執行結果為: 溫度 32 度,偏高

【訓練 2】 根據性別,顯示尊稱。

set serveroutput on  declare 

v_*** varchar2(2);

v_titil varchar2(10);

begin v_***:='男';

if v_*** ='男'

then v_titil:='先生';

else

v_titil:='女士';

endif;

dbms_output.put_line(v_titil||'您好!'); end;

執行結果為: 先生您好!

【訓練 3】 根據雇員工資分級顯示稅金。

set serveroutput on

declare v_sal number(5); v_tax number(5,2); begin

select sal into v_sal

from emp

where empno=7788;

if v_sal >=3000

then

v_tax:= v_sal*0.08;--稅率 8%

elsif v_sal>=1500

then

v_tax:= v_sal*0.06; --稅率 6% else

v_tax:= v_sal*0.04; --稅率 4%

endif;

dbms_output.put_line('應繳稅金:'||v_tax);

end;

執行結果為: 應繳稅金:240

這是最簡單的 if 結構,練習如下:

【訓練 1】 如果溫度大於 30℃,則顯示「溫度偏高」。

delimiter $$

drop procedure

ifexists

temprature$$

create

procedure

temprature

()begin

declare

v_temprature

int(5)

default 32;

declare v_result boolean default

false;

set v_result = v_temprature >30;

if v_result then

select

'偏高';

else

select

'偏低';

endif;

end$$

call temprature();

【訓練 2】 根據性別,顯示尊稱。

delimiter $$

drop

procedure

ifexists ***$$

create

procedure ***()

begin

declare v_*** varchar(2) default

'男';

declare v_titil varchar(10);

if v_*** ='男'

then set v_titil='先生';

else

set v_titil='女士';

endif;

select v_titil;

end$$

call ***();

【訓練 3】 根據雇員工資分級顯示稅金。

delimiter $$

drop procedure

ifexists

sp$$

create

procedure

sp()

begin

declare

v_sal

int(5);

declare v_tax numeric(5,2);

select sal into v_sal

from emp

where empno=7788;

if v_sal >=3000

then

set v_tax= v_sal*0.08;

elseif v_sal>=1500

then

set v_tax= v_sal*0.06;

set v_tax= v_sal*0.04;

endif; select v_tax as

'應繳稅金';

end$$

call sp();

資料庫 Oracle與Mysql對比

oracle與mysql有什麼直觀的區別呢?區別一 oracle收費,mysql開源 使用者量最多 區別二 資料型別不同,資料型別大致類似,但具體上稍有區別 區別三 分頁方式不同,oracle實現分頁需要多層 3層 select巢狀,mysql使用limit offset,pagesize 區別四 ...

資料庫基本操作Mysql與Oracle

1.oracle 1 啟動 監聽 lsnrctl start 2 進入sqlplus介面 sqlplus nolog sql conn sys jiaxiaoai orcl as sysdba 3 啟動資料庫例項 sql startup 4 檢視當前所有的資料庫 select from v data...

oracle與mysql 資料庫sql 分頁查詢

最近發現在工作中有很多 忘得一乾二淨 所以覺得應該把一些寫好的 記錄下來 其實之前有用有道筆記 但是發現它並沒有搜尋功能 所以還是寫到部落格中來 可以用強大的搜尋引擎來找到 很方便 select from select a.rownum rn from select from cms matchin...