oracle无效的关联运算符,菜鸟请教:关联操作符=>用法
定位符和命名符
create or replace procedure CallMe(p_ParameterA varchar2,
p_ParameterB number,
p_ParameterC boolean,
p_ParameterD date) as
begin
null;
end CallMe;
declare
v_Variable1 varchar2(10);
v_Variable2 number(7, 6);
v_Variable3 boolean;
v_Variable4 date;
begin
CallMe(v_Variable1, v_Variable2, v_Variable3, v_Variable4);
end;
實際參數(shù)通過位置與形式參數(shù)相關聯(lián):
v_Variable1與p_ParameterA相關聯(lián),
v_Variable2與p_ParameterB相關聯(lián),
v_Variable3與p_ParameterC相關聯(lián),
v_Variable4與p_ParameterD相關聯(lián),
這種變量叫做定位符(positional notation)。
也可以用命名符(named notation)來調用過程:
declare
v_Variable1 varchar2(10);
v_Variable2 number(7, 6);
v_Variable3 boolean;
v_Variable4 date;
begin
CallMe(p_ParameterA => v_Variable1,
p_ParameterB => v_Variable2,
p_ParameterC => v_Variable3,
p_ParameterD => v_Variable4);
end;
在命名符中,對于每一個參數(shù),都包含了形式參數(shù)和實際參數(shù)。
這就允許在需要時重新整理參數(shù)的順序。
declare
v_Variable1 varchar2(10);
v_Variable2 number(7, 6);
v_Variable3 boolean;
v_Variable4 date;
begin
CallMe(p_ParameterB => v_Variable2,
p_ParameterC => v_Variable3,
p_ParameterD => v_Variable4,
p_ParameterA => v_Variable1);
end;
定位符和命名符也可以在同一個調用中混合使用。
第一個參數(shù)必須通過定位符指定,而其余的參數(shù)可以根據(jù)名字指定。
declare
v_Variable1 varchar2(10);
v_Variable2 number(7, 6);
v_Variable3 boolean;
v_Variable4 date;
begin
CallMe(v_Variable1,
p_ParameterC => v_Variable3,
p_ParameterD => v_Variable4,
p_ParameterB => v_Variable2);
end;
--ok
declare
v_Variable1 varchar2(10);
v_Variable2 number(7, 6);
v_Variable3 boolean;
v_Variable4 date;
begin
CallMe(p_ParameterA => v_Variable1,
v_Variable2,
p_ParameterD => v_Variable4,
p_ParameterC => v_Variable3);
end;
--output
第 8 行出現(xiàn)錯誤:
ORA-06550: 第 8 行, 第 10 列:
PLS-00312: 一個定位相關參數(shù)沒有說明其相關性
ORA-06550: 第 7 行, 第 3 列:
PL/SQL: Statement ignored
定位符? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???命名符
-------------------------------------------------------------------------------------------------------------------------
更多依靠實際參數(shù)的適當名字來說明每個符號的作用? ?? ?明確說明實際參數(shù)與形式參數(shù)的聯(lián)系
用于形式參數(shù)和實際參數(shù)的名字是獨立的;可以改變? ?? ?可能更難維護,因為若形式參數(shù)的名字改變,使用
一個而不用修改另一個? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???命名對過程的調用都要改變
因為若形式參數(shù)的順序改變,使用定位符對過程的調? ?? ?用于形式參數(shù)和實際參數(shù)的順序是獨立的;可以改變
用都要改變,所以可能更難維護? ?? ?? ?? ?? ?? ?? ?? ?一個而不用修改另一個
比命名符更簡潔? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???需要更多的代碼,因為形式參數(shù)和實際參數(shù)都被包括
在調用過程中
帶有缺省值的參數(shù)必須在參數(shù)列表的最后? ?? ?? ?? ?? ? 允許形式參數(shù)使用缺省值,而不管哪個參數(shù)有缺省值
-------------------------------------------------------------------------------------------------------------------------
總結
以上是生活随笔為你收集整理的oracle无效的关联运算符,菜鸟请教:关联操作符=>用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信用卡自动还款怎么样 有风险吗
- 下一篇: 查看服务器文件夹,远程查看服务器文件夹内