oracle 存儲過程(分析理解)
阿新 • • 發佈:2019-03-01
bsp n) 以及 fan ash 調用方法 多個 賦值 ack BEGIN
FOR a IN 1..n
LOOP
dbms_output.put_line(a);
END LOOP;
END;
--sql語句
DECLARE
n NUMBER:=15;
BEGIN
xunhuan(n);
END; END;
DECLARE
cc NUMBER:=15;
BEGIN
zzzz(cc);
END; he:=v_sum;
END;
--調用
DECLARE
qq number:=1;
ww NUMBER:=100;
he number;--用來接收返回值的
BEGIN
fangfa1(qq,ww,he);
dbms_output.put_line(he);
end;
我的理解 比較簡單(僅供參考) 存儲過程就相當於java裏面的方法 簡單講就是一串代碼能夠實現某個特定的功能,想要使用這個方法直接調用方法名就能夠使用他的功能,這就是方法
oracle 存儲過程也相當於是寫方法來調用 用圖片的形式來解釋 通俗易懂 有中文解釋
1.無參存儲過程 or replace一般不要寫 僅供學習的時候寫上 工作不要寫
2.帶參存儲過程 多個參數用逗號隔開
3.定義變量以及賦值
4.打印語句
5.簡單的操作
寫一存儲過程,打印1-n n是傳入的參數 要用到循環
--創建一個存儲過程 for 循環
CREATE OR replace PROCEDURE xunhuan(n NUMBER) AS
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;
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;
END;
--調用
DECLARE
qq number:=1;
ww NUMBER:=100;
he number;--用來接收返回值的
BEGIN
fangfa1(qq,ww,he);
dbms_output.put_line(he);
end;
--簡單的分享到這
oracle 存儲過程(分析理解)