2 回答

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超7個(gè)贊
c3是一個(gè)存儲(chǔ)過程或者函數(shù)
一般如果是按順序填寫參數(shù)的時(shí)候,是不需要用=>符號(hào)的,
但是Oracle可以讓你在調(diào)用的時(shí)候,指定"參數(shù)名稱=>參數(shù)值", 這樣就可以不按參數(shù)的順序進(jìn)行調(diào)用.
因?yàn)镺racle系統(tǒng)提供的很多存儲(chǔ)過程中,參數(shù)非常多,每次調(diào)用也不是每個(gè)參數(shù)都必須指定.

TA貢獻(xiàn)1878條經(jīng)驗(yàn) 獲得超4個(gè)贊
=> 是 Oracle 中調(diào)用 存儲(chǔ)過程的時(shí)候, 指定 參數(shù)名進(jìn)行調(diào)用.
一般是, 某些參數(shù)有默認(rèn)值的時(shí)候,你需要跳過某些參數(shù)來進(jìn)行調(diào)用。
下面是具體的例子。
參數(shù)的默認(rèn)值
SQL> CREATE OR REPLACE PROCEDURE HelloWorld3 (
2 p_user_name VARCHAR2,
3 p_val1 VARCHAR2 DEFAULT ' Good Moning,',
4 p_val2 VARCHAR2 DEFAULT ' Nice to Meet you'
5 ) AS
6 BEGIN
7 dbms_output.put_line('Hello ' || p_user_name || p_val1 || p_val2 || '!'
);
8 END HelloWorld3;
9 /
Procedure created.
SQL> BEGIN
2 HelloWorld3('Edward');
3 HelloWorld3('Edward', ' Good Night,');
4 HelloWorld3('Edward', ' Good Night,', 'Bye');
5 END;
6 /
Hello Edward Good Moning, Nice to Meet you!
Hello Edward Good Night, Nice to Meet you!
Hello Edward Good Night,Bye!
PL/SQL procedure successfully completed.
指定參數(shù)名稱調(diào)用
此部分使用 “參數(shù)默認(rèn)值”那一小節(jié)的存儲(chǔ)過程。
用于說明當(dāng)最后2個(gè)參數(shù)是有默認(rèn)的時(shí)候,如何跳過中間那個(gè)。
SQL> BEGIN
2 HelloWorld3('Edward');
3 HelloWorld3('Edward', p_val1 => ' Good Night,');
4 HelloWorld3('Edward', p_val1 => ' Good Night,', p_val2 => 'Bye');
5 HelloWorld3('Edward', p_val2 => ' HeiHei ');
6 END;
7 /
Hello Edward Good Moning, Nice to Meet you!
Hello Edward Good Night, Nice to Meet you!
Hello Edward Good Night,Bye!
Hello Edward Good Moning, HeiHei !
PL/SQL procedure successfully completed.
添加回答
舉報(bào)