Database Interaction with PL/SQL, Working with TABLE in Sub-programs, Parameter Modes - What is an IN OUT type of parameter?
(Page 5 of 5 )
The IN OUT type of parameter is special type of parameter which can be accessed and modified. Both operations can be done using an IN OUT parameter. We can rewrite the above program as follows with the concept of an IN OUT parameter:
declare
b number := 10;
procedure doSquare(z IN OUT number) is
begin
z := z * z;
end;
begin
doSquare(b);
dbms_output.put_line('Square : ' || b);
end;
/
The above program is completely different from all of the earlier programs. Let us examine the life of the variable of ‘b’ in the above program. We can conclude something like the following:
‘b’ is declared as of type number.
‘b’ is immediately initialized to 10.
‘doSquare’ method is called by passing the value of ‘b’ (which is 10 at this moment).
‘z’ receives 10 (which has got permission for both access and modify).
‘z’ gets updated to ‘z * z’ (which is 100 at this moment).
As ‘z’ got modified, automatically ‘b’ in main program gets modified (at this moment ‘b’ is 100 as well).
We are displaying back the value in ‘b’, which is 100.
| DISCLAIMER: The content provided in this article is not warranted or guaranteed by Developer Shed, Inc. The content provided is intended for entertainment and/or educational purposes in order to introduce to the reader key ideas, concepts, and/or product reviews. As such it is incumbent upon the reader to employ real-world tactics for security and implementation of best practices. We are not liable for any negative consequences that may result from implementing any information covered in our articles or tutorials. If this is a hardware review, it is not recommended to open and/or modify your hardware. |