新聞中心
oracleif判斷語(yǔ)句
oracle的if語(yǔ)句采用decode函數(shù)。
在彭澤等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專(zhuān)注、極致的服務(wù)理念,為客戶提供網(wǎng)站建設(shè)、成都網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作定制開(kāi)發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,營(yíng)銷(xiāo)型網(wǎng)站,成都外貿(mào)網(wǎng)站建設(shè)公司,彭澤網(wǎng)站建設(shè)費(fèi)用合理。
DECODE(value,if1,then1,if2,then2,if3,then3,...,else)
表示如果value 等于if1時(shí),DECODE函數(shù)的結(jié)果返回then1,...,如果不等于任何一個(gè)if值,則返回else。
Oracle數(shù)據(jù)庫(kù)是對(duì)標(biāo)準(zhǔn)sql語(yǔ)言的過(guò)程化擴(kuò)展,因此產(chǎn)生了pl/sql語(yǔ)言。其中的if語(yǔ)句大量使用使得程序模塊化的功能方便實(shí)用?,F(xiàn)在要討論的是if語(yǔ)句的基本使用方法。
連接數(shù)據(jù)庫(kù)
請(qǐng)輸入用戶名: ?scott/123456
設(shè)置環(huán)境變量
SQL set serveroutput on
定義兩個(gè)字符串變量,然后賦值,接著使用if……then語(yǔ)句比較兩個(gè)字符串變量的長(zhǎng)度,并輸出比較結(jié)果。
declare
a varchar(10);
b varchar(10);
begin
a:='beijing';
b:='guangdong';
if length(a)length(b)
then dbms_output.put_line('ab');
end if;
end;
過(guò)if……then……else語(yǔ)句實(shí)現(xiàn)只有年齡大于等于56歲,才可以申請(qǐng)退休,否則程序會(huì)提示不可以申請(qǐng)退休。
declare
a number(10);
begin
a:=x;
if a=56
then dbms_output.put_line('可以申請(qǐng)退休');
else dbms_output.put_line('不可以申請(qǐng)退休');
end if;
end;
制定一個(gè)月份數(shù)值,然后使用if……then……elsif語(yǔ)句判斷它所屬的季節(jié),并輸出季節(jié)信息。
declare
mon number(10);
begin
mon:=x;
if mon=3 or mon=4 or mon=5
then dbms_output.put_line('春節(jié)');
elsif mon=6 or mon=7 or mon=8 then dbms_output.put_line('夏季');
elsif mon=9 or mon=10 or mon=11 then dbms_output.put_line('秋季');
elsif mon=12 or mon=1 or mon=2 then dbms_output.put_line('冬季');
end if;
end;
制定一個(gè)季度數(shù)值,然后使用case語(yǔ)句判斷它所包含的月份信息并輸出。
declare
ss number(10);
begin
ss:=x;
case
when ss=1 then dbms_output.put_line('包含月份3,4,5');
when ss=2 then dbms_output.put_line('包含月份6,7,8');
when ss=3 then dbms_output.put_line('包含月份9,10,11');
when ss=4 then dbms_output.put_line('包含月份12,1,2');
end case;
end;
oracle 判斷語(yǔ)句
SELECT a.id,
a.name,
a.dept,
CASE
WHEN (SELECT COUNT (1) cnt
FROM b
WHERE a.name = b.name AND b.TYPE '03') 0
THEN
ELSE
1
END
flag
FROM a
不過(guò)還需要考慮一個(gè)問(wèn)題就是:如果B表中找不到記錄時(shí),flag如何賦值。
上面這個(gè)sql針對(duì)這個(gè)情況會(huì)賦值1
oracle存儲(chǔ)過(guò)程怎么判斷一條sql語(yǔ)句是否成功
oracle存儲(chǔ)過(guò)程判斷一條sql語(yǔ)句是否成功的方法是增加exception處理,如果沒(méi)有拋出exception,那就證明正常執(zhí)行了。
在Oracle中,異常分為以下兩類(lèi):
Oracle預(yù)定義異常
用戶自定義異常
在Oracle中預(yù)定義的異常如下表所示:
在Oracle中有以下三種方式觸發(fā)異常:
由Oracle自動(dòng)觸發(fā)異常
使用RAISE語(yǔ)句手工觸發(fā)
調(diào)用存儲(chǔ)過(guò)程RAISE_APPLICATION_ERROR手工觸發(fā)
代碼將演示Oracle自動(dòng)觸發(fā)異常:
-- Created on 2015-7-14 by JellyThink
declare
iA NUMBER(2) := 10;
begin
iA := iA / 0; -- Oracle自動(dòng)觸發(fā)異常
dbms_output.put_line(iA);
exception
when ZERO_DIVIDE then
? ?dbms_output.put_line('Error Code:' || SQLCODE || ' ' || SQLERRM);
when others then
? ?dbms_output.put_line('Others Exception');
end;
文章題目:oracle語(yǔ)句如何判斷 oraclesql判斷語(yǔ)句
網(wǎng)頁(yè)網(wǎng)址:http://www.dlmjj.cn/article/hhcoph.html