- The Stored Procedure contains three parts: Declaration, execution, and exception.
- There are no parameter programs or stored procedures with parameters.
- No parameter program syntax
- 1 create or replace procedure noparpro
- 2;
- 3 begin
- 4;
- 5 exception
- 6;
- 7 end;
- 8
- Example of a stored procedure with Parameters
- 1 create or replace procedure queryempname (sfindno EMP. empno % Type)
- 2 sname EMP. ename % type;
- 3 sjob EMP. Job % type;
- 4 begin
- 5 ....
- 7 exception
- ....
- 14 end;
- 15
- Stored Procedures with parameters include the Assignment Method
- 1 create or replace procedure runbyparmeters (isal in EMP. Sal % type,
- Sname out varchar, sjob in out varchar)
- 2 As icount number;
- 3 begin
- 4 select count (*) into icount from EMP where SAL> isal and job = sjob;
- 5IfIcount = 1 then
- 6 ....
- 9Else
- 10 ....
- 12 EndIf;
- 13 exception
- 14 when too_many_rows then
- 15 dbms_output.put_line ('Return value more than 1 line ');
- 16 when others then
- 17 dbms_output.put_line ('An error occurred during runbyparmeters! ');
- 18 end;
- 19
- Process call
- Method 1
- 1 declare
- 2 realsal EMP. Sal % type;
- 3 realname varchar (40 );
- 4 realjob varchar (40 );
- 5 begin
- 6. realsal: = 1100;
- 7 realname: = '';
- 8 realjob: = 'cler ';
- 9 runbyparmeters (realsal, realname, realjob); -- must be in order
- 10 dbms_output.put_line (realname | ''| realjob );
- 11 end;
- 12
- Method 2
- 1 declare
- 2 realsal EMP. Sal % type;
- 3 realname varchar (40 );
- 4 realjob varchar (40 );
- 5 begin
- 6. realsal: = 1100;
- 7 realname: = '';
- 8 realjob: = 'cler ';
- 9 runbyparmeters (sname => realname, isal => realsal, sjob => realjob); -- the variable sequence of the specified value is variable.
- 10 dbms_output.put_line (realname | ''| realjob );
- 11 end;
- 12
The Stored Procedure contains three parts: Declaration, execution, and exception. There are no parameter programs or stored procedures with parameters. No parameter program Syntax 1 create or replace procedure noparpro2 as; 3 begin4; 5 exception6; 7 end; 8 with parameter Stored Procedure instance 1 create or replace procedure queryempname (sfindno EMP. empno % Type) as 2 sname EMP. ename % type; 3 sjob EMP. job % type; 4 Begin 5 .... 7 exception .... 14 end; 15 with parameter stored procedures include assignment method 1 create or replace procedure runbyparmeters (isal in EMP. sal % type, sname out varchar, sjob in out varchar) 2 as icount number; 3 begin 4 Se Lect count (*) into icount from EMP where SAL> isal and job = sjob; 5 If icount = 1 then 6 .... 9 else10 .... 12 end if; 13 exception14 when too_many_rows then15 dbms_output.put_line ('Return value more than 1 row'); 16 when others then17 dbms_output.put_line ('error in runbyparmeters process! '); 18 end; 19 process call method 1 declare 2 realsal EMP. sal % type; 3 realname varchar (40); 4 realjob varchar (40); 5 begin 6 realsal: = 1100; 7 realname: = ''; 8 realjob: = 'cler'; 9 runbyparmeters (realsal, realname, realjob); -- the order must be 10 dbms_output.put_line (realname | ''| realjob); 11 end; 12 method 2 1 declare 2 realsal EMP. sal % type; 3 realname varchar (40); 4 realjob varchar (40); 5 begin 6 realsal: = 1100; 7 realname: = ''; 8 realjob: = 'cler'; 9 runbyparmeters (sname => realname, isal => realsal, sjob => realjob ); -- The variable sequence corresponding to the specified value can be 10 dbms_output.put_line (realname | ''| realjob); 11 end; 12