I come, I see, I conquer

                    —Gaius Julius Caesar

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

Creating Procedures

In Oracle, you can create your own procedures.

The syntax for a procedure is:

CREATE [OR REPLACE] PROCEDURE procedure_name
    
[ (parameter [,parameter]) ]
IS
    
[declaration_section]
BEGIN
    executable_section
[EXCEPTION
    exception_section
]
END [procedure_name];

 When you create a procedure or function, you may define parameters. There are three types of parameters that can be declared:

1. IN - The parameter can be referenced by the procedure or function. The value of the parameter can not be overwritten by the procedure or function.

2. OUT - The parameter can not be referenced by the procedure or function, but the value of the parameter can be overwritten by the procedure or function.

3. IN OUT - The parameter can be referenced by the procedure or function and the value of the parameter can be overwritten by the procedure or function.

 

The following is a simple example of a procedure:

CREATE OR REPLACE Procedure UpdateCourse
   ( name_in 
IN varchar2 )
IS
    cnumber 
number;

    
cursor c1 is
    
select course_number
      
from courses_tbl
      
where course_name = name_in;

BEGIN

open c1;
fetch c1 into cnumber;

if c1%notfound then
     cnumber :
= 9999;
end if;

insert into student_courses
( course_name,
  course_number)
values ( name_in,
                cnumber );

commit;

close c1;

EXCEPTION
WHEN OTHERS THEN
      raise_application_error(
-20001,'An error was encountered - '||SQLCODE||' -ERROR- '||SQLERRM);
END;

This procedure is called UpdateCourse. It has one parameter called name_in. The procedure will lookup the course_number based on course name. If it does not find a match, it defaults the course number to 99999. It then inserts a new record into the student_courses table.

posted on 2007-09-24 00:40  jcsu  阅读(948)  评论(0)    收藏  举报