oracle 存储过程(分析理解)
Posted HaoDi888
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 存储过程(分析理解)相关的知识,希望对你有一定的参考价值。
我的理解 比较简单(仅供参考) 存储过程就相当于java里面的方法 简单讲就是一串代码能够实现某个特定的功能,想要使用这个方法直接调用方法名就能够使用他的功能,这就是方法
oracle 存储过程也相当于是写方法来调用 用图片的形式来解释 通俗易懂 有中文解释
1.无参存储过程 or replace一般不要写 仅供学习的时候写上 工作不要写
2.带参存储过程 多个参数用逗号隔开
3.定义变量以及赋值
4.打印语句
5.简单的操作
写一存储过程,打印1-n n是传入的参数 要用到循环
--创建一个存储过程 for 循环
CREATE OR replace PROCEDURE xunhuan(n NUMBER) AS
BEGIN
FOR a IN 1..n
LOOP
dbms_output.put_line(a);
END LOOP;
END;
--sql语句
DECLARE
n NUMBER:=15;
BEGIN
xunhuan(n);
END;
-- while 循环
CREATE PROCEDURE zzzz(n NUMBER)
AS
a NUMBER:=1;
BEGIN
WHILE a<=n
LOOP
dbms_output.put_line(a);
a:=a+1;
END LOOP;
END;
DECLARE
cc NUMBER:=15;
BEGIN
zzzz(cc);
END;
--结果
6.稍微难一点的
--写一存储过程,求m-n的累加和并返回
jiashu和jiash后面的in是入参的意思 就是写入参数,out是返回值(装返回内容的)
CREATE OR REPLACE PROCEDURE fangfa1
(
jiashu IN NUMBER ,
jiash IN NUMBER ,
he OUT NUMBER--返回结果
)
AS
v_sum NUMBER:=0;--装结果
BEGIN
FOR j IN jiashu..jiash
LOOP
v_sum:=v_sum+j;
END LOOP;
he:=v_sum;
END;
--调用
DECLARE
qq number:=1;
ww NUMBER:=100;
he number;--用来接收返回值的
BEGIN
fangfa1(qq,ww,he);
dbms_output.put_line(he);
end;
--简单的分享到这
以上是关于oracle 存储过程(分析理解)的主要内容,如果未能解决你的问题,请参考以下文章