Changes with 11g:
- you can mix named with positional parameters in a call.
- the SQL code matches the PL/SQL code.
Notes:
- Exclusionary Notation: one or more can be excluded if optional. (When formal parameters have defaults they are optional.)
- You still can't call a function from SQL when any of its formal parameters are defined as IN OUT or OUT mode–only variables.
- Mixed must list all positional parameters first.
CREATE OR REPLACE FUNCTION Family
( Boy Varchar2 := 'Mickey'
, Girl Varchar2 := 'Minney'
, Dog Varchar2 := 'Pluto' )
RETURN Varchar2 IS
BEGIN
RETURN Boy||'+'||Girl||'+'||Dog;
END;
/
Column Notation Format A15
Column Family Format A15
Select 'Positional' As Notation,
Family('Dick'
,'Jane'
,'Spot') As Family
From Dual;
Select 'Named' As Notation,
Family(Girl => 'Jane'
,Dog => 'Spot'
,Boy => 'Dick') As Family
From Dual;
Select 'Mixed' As Notation,
Family( 'Dick'
,Dog => 'Spot'
,Girl => 'Jane') As Family
From Dual;
Select 'Exclusionary' As Notation,
Family( 'Dick'
,Girl => 'Jane') As Family
From Dual;
No comments:
Post a Comment