怎么样利用存储过程实现(oracle )的添加、删除、查询、修改啊?

怎么样实现,本人不是太会!!!还有用什么样的环境,oracle 10g吗?

列个表,里边我一样给你写个例子,你看着学学,我尽量给你做出注释
--建一个学生表
create table student (id int,name varchar2(10));
--插入两条测试数据
insert into student values (1,'张三');
insert into student values (2,'李四');
commit;
-------------用存储过程添加id为3,姓名为王五的学生-----------
create or replace PROCEDURE P_INSERT
(v_id int,--定义id变量
v_name varchar2--定义姓名变量)
is
begin
insert into student values (v_id,v_name);--执行插入操作
commit;
end;

执行的时候用下边的
BEGIN
p_insert(3,'王五');
END;

然后select * from student;
你会发现多了3 王五 这条数据
---------------用存储过程删除id为3的学生------------
create or replace PROCEDURE P_DELETE
(v_id int)--定义变量id
is
begin
delete from student where id=v_id;--执行删除操作
commit;
end;

执行
BEGIN
p_delete(3);
END;

执行完上边后执行
select * from student;
你会发现id为3的学生没了

---------------用存储过程查询id为2的学生姓名------------
create or replace PROCEDURE P_SELECT
(v_id int)--定义输入变量id
is
v_name varchar2(10);--定义输出变量name
begin
select name into v_name from student where id=v_id;--执行查询
dbms_output.put_line('学生姓名为:'||v_name);--输出结果
end;

执行
BEGIN
p_select(2);
END;

输出的结果就是id为2的学生姓名
-----------用存储过程查询id为1的学生姓名修改为赵六----------
create or replace PROCEDURE P_UPDATE
(v_id int,--定义要修改的id
v_name varchar2)--定义要修改后的名字
is
begin
update student set name=v_name where id=v_id;--执行修改操作
commit;
end;

执行
BEGIN
P_UPDATE(1,'赵六');
END;

然后你再
select * from student;
你会发现id为1的已经为赵六了

上边这些都是最简单的存储过程,在实际过程中肯定没这么简单

还有,我让你执行的
BEGIN
P_UPDATE(1,'赵六');
END;

这种东西可以当做oracle的job调用,可以定时执行

再有不懂的你再问吧,上边的仅做参考

累死我了,哈哈
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-09-17
以下的文章主要是Oracle存储过程(增、删、改)写法的介绍,
插入:
代码
1. CREATE OR REPLACE Procedure p_insert_t_stu --存储过程名称
2. (
3. p_stuid in Number,
4. p_stuname in Nvarchar2,
5. p_stusex in Nvarchar2,
6. p_stuadd in Nvarchar2
7. )
8. as
9. BEGIN
10. insert into t_stu
11. values
12. (p_stuid,p_stuname,p_stusex,p_stuadd);
13. commit;
14. end;
删除:
代码
1. CREATE OR REPLACE Procedure p_delete_t_stu --存储过程名称
2. (
3. p_stuid in Number,
4. p_msg Out Nvarchar2
5. )
6. Is
7. flag Integer := 1;
8. v_stuid Number;
9. Begin
10. Select flag Into v_stuid From t_stu Where stuid=p_stuid;
11. Delete t_stu
12. Where
13. stuid=p_stuid;
14. commit;
15. If flag=1 Then
16. Begin
17. p_msg:='删除成功';
18. End;
19. End If;
20. Exception
21. When Others Then
22. p_msg:=Sqlerrm || ',' || '删除失败';
23. END;
修改:
代码
1. CREATE OR REPLACE Procedure p_update_t_stu --存储过程名称
2. (
3. p_stuid in Number,
4. p_stuname in Nvarchar2,
5. p_stusex in Nvarchar2,
6. p_stuadd in Nvarchar2
7. )
8. as
9. BEGIN
10. Update t_stu Set stuname=p_stuname,stusex=p_stusex,stuadd=p_stuadd
11. Where
12. stuid=p_stuid;
13. commit;
14. end;
以上的相关内容就是对Oracle存储过程的介绍,望你能有所收获。