日期:2014-05-16  浏览次数:20571 次

oracle 存储过程 练习笔记
目标:

·熟悉Oracle存储过程的各种写法


先写下面几个存储过程(无,有,返回普通值,返回结果集)

在Oracle中编写:

1、创建班级表和学生表。

2、添加学生(学号,姓名,班级编号),不返回任何值。

3、添加学生(姓名,班级编号),由程序生成学号并返回(。

4、添加学生(姓名,班级编号),并返回该班的所有学生。

解答:
1、创建 班级表过程 classinfo_create
CREATE OR REPLACE PROCEDURE classinfo_create
Authid Current_User
IS
v_classinfo_sql varchar2(1000);
v_flag integer;
BEGIN
           v_classinfo_sql:='create table classinfo(
                                  classinfo_id varchar2(20) primary key,
                                  classinfo_name varchar2(20) not null
                                   ) ';
           EXECUTE IMMEDIATE v_classinfo_sql;
           EXCEPTION
           WHEN OTHERS THEN
               EXECUTE IMMEDIATE 'drop table classinfo';
               EXECUTE IMMEDIATE v_classinfo_sql;
END classinfo_create;
创建 学生表过程 student_class_create
CREATE OR REPLACE PROCEDURE student_class_create
Authid Current_User
IS
v_student_sql varchar2(1000);
v_classinfo_sql varchar2(1000);
v_flag integer;
BEGIN
           v_flag:=1;
           v_student_sql:='create table student(
                                            student_id varchar2(20) primary key,
                                            student_name varchar2(20) not null,
                                            classinfo_id varchar2(20) not null
                                           )' ;
           v_classinfo_sql:='create table classinfo(
                                  classinfo_id varchar2(20) primary key,
                                  classinfo_name varchar2(20) not null
  &