分支結構是最基本的程式結構,分支結構由 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...