1. 程式人生 > >oracle 存儲過程(分析理解)

oracle 存儲過程(分析理解)

bsp n) 以及 fan ash 調用方法 多個 賦值 ack

我的理解 比較簡單(僅供參考) 存儲過程就相當於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的累加和並返回

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 存儲過程(分析理解)