can use the following like overloading concept in a single
package:
procedure p1(a varchar),
procedure p1(a varchar2),
procedure p1(a char)
Answers were Sorted based on User's Feedback
Answer / vpl
No.
for overloading, parameters must differ by type family--
whereas CHAR, VARCHAR and VARCHAR2 belongs to same family.
Is This Answer Correct ? | 5 Yes | 1 No |
Answer / vpl
No.
for overloading, parameters must differ by type family--
whereas CHAR, VARCHAR and VARCHAR2 belongs to same family.
This will actually allow you to create the pack but will
give run time error.
Is This Answer Correct ? | 3 Yes | 1 No |
Answer / bunty
Yes. you can create package where overloading will be
identified by using type of arguments.
Following code will work fine,
--WORK's FINE
create or replace package PK_TEST AS
procedure p1(a IN varchar);
procedure p1(a IN varchar2);
procedure p1(a IN char);
end PK_TEST;
But,following code will not work as p1( v1 IN varchar) and
p1(v3 IN varchar) has the same type of arguments.
--NOT WORK
create or replace package PK_TEST AS
procedure p1(v1 IN varchar);
procedure p1(v2 IN varchar2);
procedure p1(v3 IN varchar);
end PK_TEST;
Cheers,
Bunty
Is This Answer Correct ? | 3 Yes | 3 No |
Answer / sudhakar naraparaju
I created a test package and executed.
create or replace package test is
procedure p1(v1 in Varchar);
Procedure p2(v2 in varchar2);
procedure p3(v3 in char);
end;
/
create or replace package body test is
procedure p1(v1 in Varchar) is
begin
dbms_output.put_line(' The input data for v1 is: '||v1);
end;
Procedure p2(v2 in varchar2) is
begin
dbms_output.put_line(' The input data for v2 is: '||v2);
end;
procedure p3(v3 in char) is
begin
dbms_output.put_line(' The input data for v3 is: '||v3);
end;
end;
/
I called each procedure in sql by setting the serveroutput
on:
begin
test.P3('Testing Procedure P3');
end;
I got the below output:
The input data for v1 is: Testing Procedure P1
The input data for v2 is: Testing Procedure P2
The input data for v3 is: Testing Procedure P3
Is This Answer Correct ? | 2 Yes | 2 No |
Answer / sudhakar naraparaju
I created a test package and executed.
create or replace package test is
procedure p1(v1 in Varchar);
Procedure p2(v2 in varchar2);
procedure p3(v3 in char);
end;
/
create or replace package body test is
procedure p1(v1 in Varchar) is
begin
dbms_output.put_line(' The input data for v1 is: '||v1);
end;
Procedure p2(v2 in varchar2) is
begin
dbms_output.put_line(' The input data for v2 is: '||v2);
end;
procedure p3(v3 in char) is
begin
dbms_output.put_line(' The input data for v3 is: '||v3);
end;
end;
/
I called each procedure in sql by setting the serveroutput
on:
begin
test.P3('Testing Procedure P3');
end;
I got the below output:
The input data for v1 is: Testing Procedure P1
The input data for v2 is: Testing Procedure P2
The input data for v3 is: Testing Procedure P3
Is This Answer Correct ? | 0 Yes | 1 No |
State the advatage and disadvantage of Cursor's?
How to run sql*plus commands in sql developer?
Types of joins ?
3 Answers Digital GlobalSoft, HeadStrong,
What are the new features in Oracle 10g. Compared to Oracle 9i?
what is overloading procedure or overloading function ?
Can a table contain multiple foreign key’s?
What is rownum and rowid?
What packages(if any) has oracle provided for use by developers?
How do I make sql search faster?
What does fetching a cursor do?
How do you optimize SQL queries ?
6 Answers CarrizalSoft Technologies, Infosys, Oracle,
What are the advantages of the packages