1、在查詢語句中調(diào)用自定義函數(shù)?F_GETXM(FID),該函數(shù)通過編號獲取人員姓名,F(xiàn)ID?為編號
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),通化企業(yè)網(wǎng)站建設(shè),通化品牌網(wǎng)站建設(shè),網(wǎng)站定制,通化網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,通化網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
SELECT?F_GETXM(fID)?FROM?T_COURSE;
2、在存儲過程中調(diào)用:其中uID為學(xué)號,uName保存獲得的姓名
uName?:=?F_GETXM(uID);
3、在?INSERT?語句中調(diào)用
INSERT?INTO?T_CLASSMATE?(FID,FNAME,...)?VALUES?(uID,F_GETXM(uID),...);
4、在?UPDATE?語句中調(diào)用
UPDATE?T_CLASSMATE?SET?FNAME?=?F_GETXM('1700511')?WHERE?FID?=?'1700511';
5、在?WHERE?語句中調(diào)用
SELECT?*?FROM?T_CLASSMATE?WHERE?FNAME?=?F_GETXM('1700511');
注:T_CLASSMATE?學(xué)生表;T_COURSE?課程表。
在ORACLE中,函數(shù)的調(diào)用方式有位置表示法調(diào)用函數(shù)、命名表示法調(diào)用函數(shù)、混合使用位置表示法和命名表示法調(diào)用函數(shù)、排除表示法、ql調(diào)用表示法 --混合表示法。
甲骨文股份有限公司(Oracle)是全球大型數(shù)據(jù)庫軟件公司,總部位于美國加州紅木城的紅木岸。在2008年,甲骨文股份有限公司是繼Microsoft及IBM后,全球收入第三多的軟件公司。Oracle數(shù)據(jù)庫產(chǎn)品為財富排行榜上的前1000家公司所采用,許多大型網(wǎng)站也選用了Oracle系統(tǒng)。甲骨文股份有限公司于1989年正式進(jìn)入中國,在北京、上海、廣州和成都均設(shè)立了分支機(jī)構(gòu)。
方式一:
CALL PAMF05_FUN(你需要傳入的參數(shù)');
方式二:
begin
PAMF05_FUN(你需要傳入的參數(shù)');
end;
oracle數(shù)據(jù)庫中函數(shù)較多,而且每個函數(shù)都有自己的用法,所以要根據(jù)具體的函數(shù)查詢具體的使用方法,比如:
decode(條件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)
這個函數(shù)運(yùn)行的結(jié)果是,當(dāng)字段或字段的運(yùn)算的值等于值1時,該函數(shù)返回值2,否則返回值3
當(dāng)然值1,值2,值3也可以是表達(dá)式,這個函數(shù)使得某些sql語句簡單了許多
使用方法:
1、比較大小
select decode(sign(變量1-變量2),-1,變量1,變量2) from dual;
--取較小值
sign()函數(shù)根據(jù)某個值是0、正數(shù)還是負(fù)數(shù),分別返回0、1、-1
例如:
變量1=10,變量2=20
則sign(變量1-變量2)返回-1,decode解碼結(jié)果為“變量1”,達(dá)到了取較小值的目的。
2、此函數(shù)用在SQL語句中,功能介紹如下:
Decode函數(shù)與一系列嵌套的
IF-THEN-ELSE語句相似。base_exp與compare1,compare2等等依次進(jìn)行比較。如果base_exp和 第i
個compare項匹配,就返回第i 個對應(yīng)的value
。如果base_exp與任何的compare值都不匹配,則返回default。每個compare值順次求值,如果發(fā)現(xiàn)一個匹配,則剩下的compare值(如果還有的話)就都不再求值。一個為NULL的base_exp被認(rèn)為和NULL
compare值等價。如果需要的話,每一個compare值都被轉(zhuǎn)換成和第一個compare 值相同的數(shù)據(jù)類型,這個數(shù)據(jù)類型也是返回值的類型。
call GetPY(@str varchar(500)) 就可以了
sql2005中是exec GetPY(@str varchar(500)) 。
select course_type(STUID COURSE_ID) from stu_scores
select course_type('測試數(shù)據(jù)') from dual