Oracle存储过程的如何正确输写?

 我来答
lala563210
2014-04-23 · TA获得超过262个赞
知道答主
回答量:27
采纳率:100%
帮助的人:48.3万
展开全部
我来帮您,不解决不要钱哦
-----------------华丽丽的分割线-----------------------------
我们一般都会写SQL语句,对吧,存储过程就是将SQL封装一下,按照业务逻辑组成一起
CREATE OR REPLACE PROCEDURE TEST22
(
ret OUT SYS_REFCURSOR
)
AS
BEGIN
OPEN ret FOR
SELECT * FROM t_user;
END;
-----------------------------------
上面是一个存储过程,就是我将SELECT * FROM t_user;这个sql语句封装成一个存储过程
实际上执行存储过程的效果和sql是一模一样的

接着我给你一个测试例子,一看就明白了,先建表和插入测试数据
---------------------------------
create table
xuesheng(id integer, xing_ming varchar2(25), yu_wen number, shu_xue number);

insert into xuesheng values(1,'zhangsan',80,90);
insert into xuesheng values(2,'lisi',85,87);
-------------------------------------------------
1)无返回值的存储过程
create or replace procedure xs_proc_no is
begin
insert into xuesheng values (3, 'wangwu', 90, 90);
commit;
end xs_proc_no;
2)有单个数据值返回的存储过程

create or replace procedure xs_proc(temp_name in varchar2,
temp_num out number) is
num_1 number;
num_2 number;
begin
select yu_wen, shu_xue
into num_1, num_2
from xuesheng
where xing_ming = temp_name;
--dbms_output.put_line(num_1 + num_2);
temp_num := num_1 + num_2;
end;

我写的存储过程代码不下与40万行,有啥问题可以问俺,俺一般都可以回答,嘿嘿、
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式